添加对象 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")
我正在尝试添加我的对象(子弹)的多个实例,以便玩家可以射出一颗子弹,然后再射出另一颗子弹。我正在使用以下代码,但它给我一个线程 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")