我是stackoverflow和Swift的新手。我正在用Swift和SpriteKit做一个双向飞碟游戏,当我触摸一个物体时,我想实现破碎的陶瓷效果。除了这个效果之外,我对它有所了解。我刚创建了我的" Myparticle.sks"并选择图像,粒子数量,...... 此外,我正在尝试,我在didMoveToView()方法中添加我的发射器节点,我发现在显示场景时我可以看到它的效果,但是当我在touchesBegan()方法中添加我的发射器节点时,我没有'看到了。
我对此感到有些困惑。
谢谢!
------- --------编辑
我在我的班级中写了这段代码。
private struct Particle{
static let untypedEmitter : AnyObject = NSKeyedUnarchiver.unarchiveObjectWithFile(NSBundle.mainBundle().pathForResource("MyParticle", ofType: "sks")!)!;
}
let emitter:SKEmitterNode = Particle.untypedEmitter as! SKEmitterNode
然后我在didMoveToView()方法中写了另一个。有了这个,我可以看到效果。
emitter.position=CGPoint(x:self.frame.width/2,y:self.frame.height/2)
self.addChild(emitter)
最后,如果我像以前一样在touchesBegan()方法中添加发射器,我什么都看不到。
答案 0 :(得分:0)
您的问题可能是您的发射器的粒子显示在其他内容的后面。要在其他节点上方显示粒子,您可以更改发射器的particleZPosition
属性。例如:
emitter.particleZPosition = 1000
我建议查看Apple的SpriteKit文档,了解有关zPosition
的更多信息:https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Nodes/Nodes.html