2015-04-19 18 views
0

我是新的在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

歡迎的StackOverflow!你能發佈相關的代碼來幫助人們回答你的問題嗎? – ABakerSmith

+0

謝謝!我希望我剛添加的代碼可以幫助人們回答。 – Diego

+0

你只是添加粒子效果?或者你的場景還有其他什麼? – ABakerSmith

回答

0

您的問題可能是您的發射器的粒子顯示在其他內容的後面。要在其他節點上方顯示粒子,您可以更改發射器的屬性particleZPosition。例如:

emitter.particleZPosition = 1000 

我建議在看蘋果的SpriteKit文檔的詳細信息,zPosition S:https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Nodes/Nodes.html

+0

我剛剛在代碼中檢查了您的答案,並且將它放在touchesBegan()方法中,效果與之前相同。我剛剛在didMoveToView()中添加了發射器節點,我可以看到它。感謝您提供的信息,我會在您參考的頁面中查找相關內容。 – Diego