我正在使用 Swift 3 制作 Flappy Bird 类型的游戏。我在函数'makePipes()'的帮助下生成了管道,我用一个计时器每3秒调用一次。 'makePipes()'函数为管道创建SKSpriteNode,并将它们从屏幕右侧移动到屏幕左侧。 我想要做的是,在屏幕消失之后或从屏幕的一侧完成从屏幕的移动到另一侧之后,销毁节点。
另一种解决方案可能是在管道从右向左移动后重新使用。
pipe1.run(movePipes) {
self.pipe1.removeFromParent()
}
我尝试了上述解决方案并且无效。它在屏幕上显示出奇怪的闪烁线条,管道变得奇怪而随机地放置而不是均匀。
感谢任何帮助。我是iOS的新手。
答案 0 :(得分:0)
你可以这样做: -
movePipesForward = SKAction.moveByX(-dx, y: 0 ,duration: duration)
removePipes = SKAction.removeFromParent()
moveForwardAndRemove = SKAction.sequence([movePipesForward, removePipes])
pipe1.runAction(moveForwardAndRemove)
self.addChild(pipe)