jjzjj

skemitternode

全部标签

ios - 在设备上运行时不出现 SKEmitterNode

过去几天,我一直在使用HackingWithSwift教程(特别是项目23)学习在Swift中使用Spritekit。我正在学习如何使用SKEmitterNodes,但它们似乎从未出现过。在运行时,屏幕是空白灰色,以1fps的速度运行,屏幕上有1个节点(假设是SKEmitterNode)。我试过更改节点的zPosition,但它似乎没有任何效果。奇怪的是,SKSpriteNodes和SKLabelNodes看起来很好。我清理了项目并删除了GameScene.sks中的“HelloWorld”,所以我知道默认项目中没有任何内容。我已经广泛搜索了这个问题的答案,但我一无所获。下面是有问题的

swift - 添加到新的 SKScene 时 SKEmitterNode 消失

我有一个SKEmitterNode在SKScene上运行我想把它移到下一个SKScene不打断粒子。通常我会这样做:letscene:SKScene=GameScene(size:self.size)lettransition=SKTransition.crossFade(withDuration:0.5)self.view!.presentScene(scene,transition:transition)然后在下一个SKScene上:overridefuncdidMove(toview:SKView){particleEmitter.removeFromParent()addChi

swift - 预加载 SKEmitterNode,使用时有延迟

这就是我放置发射器的方式:funcaddParticle(at:CGPoint){letemitter=SKEmitterNode(fileNamed:"hit.sks")emitter?.position=atemitter?.zPosition=10scene.addChild(emitter!)scene.run(SKAction.wait(forDuration:1),completion:{emitter?.removeFromParent()})}有时我有性能滞后,时间分析器显示我有sks文件延迟(文件解码等)。有什么办法可以避免这种情况吗? 最

swift - 在不移除粒子的情况下重启 SKEmitterNode

我为Guzzle照明弹设置了粒子效果。我目前使用的是低numParticlesToEmit以将发射器限制为短脉冲,并在我想开始新的粒子爆发时对发射器执行resetSimulation()。我遇到的问题是resetSimulation()会移除屏幕上的所有粒子,而且我经常需要在之前的粒子正常消失之前创建新的粒子爆发,以便它们及早被删除。是否有一种干净的方式再次启动发射器而不删除屏幕上已经存在的粒子? 最佳答案 通常粒子系统有一个SKEmitter缺少的特性:持续时间。这控制系统发出多长时间。我在SKEmitter中看不到这个,尽管在S

ios - SKEmitterNode 没有从父级中删除自己?

我将SKEmitterNode添加为我的mainScene的子节点,并且超出预期它将在particleLifetime结束时被删除,描述为appledocs.像这样添加了发射器;varemitterPath:String=NSBundle.mainBundle().pathForResource("ShipFire",ofType:"sks")!varemitter:SKEmitterNode=NSKeyedUnarchiver.unarchiveObjectWithFile(emitterPath)as!SKEmitterNodeemitter.position=positionem

ios - SKEmitterNode 如何在不同背景下使用混合模式 "add"保持相同效果

我有一个非常酷的效果,我喜欢我在xcode中使用sks文件和混合模式“添加”制作的效果。现在我当时没有意识到,但在查看苹果文档后我发现效果实际上是基于背景颜色的,具体来说:Addsthepixelvaluesoftheparticleandunderlyingimages.Createsawhitepixelifthisvalueisgreaterthan1现在,我想在每种不同的背景颜色上产生相同的效果,但据我所知,唯一的方法是使用“Alpha”混合效果。但这只让我可以选择纯色。这是我想要应用于所有不同背景颜色的图形:我怎样才能在所有不同的背景颜色中产生这种效果?我正在使用默认的Spa