我正在制作我的第一个游戏,它将类似于马里奥。(使用斯威夫特)
已经开始制造一些敌人,他们需要左右移动并响应碰撞,我可以为我的玩家节点执行此操作,因为我从 SKScene 更新函数调用 player.update() 函数,
override func update(currentTime: NSTimeInterval)
{
player.update()
}
我的问题是:
对于 enemyX,我如何让节点更新,因为 SKSpriteNode 没有可以覆盖的默认更新功能,并且来自我的游戏场景
我真的不想写这样的东西:
override func update(currentTime: NSTimeInterval)
{
player.update()
enemyX.update()
enemyY.update()
enemy001.update()
...
enemy100.update
}
你明白我的意思吗,我该如何解决这个问题,SKSpriteNode需要是一个不同的类吗?
也许是行动?
let moveLeft = SKAction.moveByX( 200, y:0, duration: 5)
self.runAction(moveLeft, completion: {
print("----> move left Complete")
})
谢谢。
你子
类SKSpriteNode
和该类中的更新方法。 然后在场景中的更新方法中,您完全按照您所说的进行操作
player.update()
enemy.update()
等。
不建议使用SKAction,除非你的敌人的行为非常简单。