2017-07-01 53 views
0

消失我想提出一個笨鳥先飛一種使用斯威夫特3一個遊戲。我用一個函數'makePipes()'產生了管道,我使用一個定時器每3秒調用一次。 'makePipes()'函數爲Pipes創建了SKSpriteNode,並將它們從屏幕右側移動到屏幕左側。 我想要做的是在管道從屏幕消失或從屏幕一側完成移動到另一側之後銷燬節點。如何清除或破壞SKSpriteNode一旦它從屏幕

另一種解決方案可能是在管道從右向左移動後重新使用管道。

pipe1.run(movePipes) { 
     self.pipe1.removeFromParent() 
    } 

我試過上述解決方案,它不起作用。它顯示屏幕上的奇怪閃爍線條和管道變得奇怪而隨機地放置而不是統一。

任何幫助表示讚賞。我對iOS很新。

回答

0

你可以做這樣的事情: -

movePipesForward = SKAction.moveByX(-dx, y: 0 ,duration: duration) 
removePipes = SKAction.removeFromParent() 
moveForwardAndRemove = SKAction.sequence([movePipesForward, removePipes]) 
pipe1.runAction(moveForwardAndRemove) 
self.addChild(pipe) 
+0

完美。雖然,我是否可以使用非重複計時器調用另一個在所需時間後移除管道的功能? –

+0

如果管道的移動和時間同步,那麼在所需的時間量之後移除管道是可行的,這更多的是擊中和試驗。 –