添加对象的多个实例 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,则会发生错误。

你需要做的是创建一个SKSpritenode,每次都要添加。你可以有一个函数每次都创建项目符号

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((,也许在触摸开始,你可以创建新的项目符号移动到屏幕末尾而不会崩溃。所以重点是为每个addChild提供var bullet = SKSpriteNode(图像名称:"子弹"(。

最新更新