添加对象 spritekit 的多个实例 swift 3

Adding multiple instances of objects spritekit swift 3

我正在尝试添加我的对象(子弹)的多个实例,以便玩家可以射出一颗子弹,然后再射出另一颗子弹。我正在使用以下代码,但它给我一个线程 1 信号 sigbart 错误。有人可以解释代码有什么问题吗?谢谢!

            let bulletmove = SKAction.moveTo(y: self.frame.height, duration: 2)

            let bulletremove = SKAction.removeFromParent()

            addChild(bullett)

            bullett.run(SKAction.sequence([bulletmove, bulletremove])) 

多次添加SKSprite会报错

您需要做的是每次添加一个SKSprite节点。你可以有一个函数来做每次创建项目符号

func addBullet(){

var bullet = SKSpriteNode(imagenamed: "bullet")
bullet.position = //Give the point of origin as CGPoint. Maybe same as the shooter..
addChild(bullet)
bullet.run(SKAction.moveTo(y: self.frame.height, duration: 2))

}

因此,每次您调用 addBullet() 时,也许在 touches begin 中,您可以创建新的项目符号,该项目符号移动到屏幕末尾而不会崩溃。 所以要点是每个 addChild.

都有 var bullet = SKSpriteNode(imagenamed: "bullet")