发射器用于双向飞碟游戏(Swift)

时间:2015-04-19 15:45:36

标签: ios swift sprite-kit skemitternode

我是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()方法中添加发射器,我什么都看不到。

1 个答案:

答案 0 :(得分:0)

您的问题可能是您的发射器的粒子显示在其他内容的后面。要在其他节点上方显示粒子,您可以更改发射器的particleZPosition属性。例如:

emitter.particleZPosition = 1000

我建议查看Apple的SpriteKit文档,了解有关zPosition的更多信息:https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Nodes/Nodes.html