Tag: skaction

如何将敌人移动到移动的玩家?

我正在创build一个简单的精灵套装游戏,将玩家置于屏幕的左侧,而敌人从右侧接近。 由于玩家可以上下移动,我希望敌人“巧妙地”调整他们的路线。 我试着在玩家移动的时候删除和重新添加SKAction序列,但是下面的代码会导致敌人根本不显示,可能是因为它只是在每次帧更新时添加和删除每个动作,所以他们从来没有机会移动。 希望得到一些关于创造“聪明”敌人的最佳做法的小反馈,这些敌人将随时转向玩家的位置。 这是我的代码: func moveEnemy(enemy: Enemy) { let moveEnemyAction = SKAction.moveTo(CGPoint(x:self.player.position.x, y:self.player.position.y), duration: 1.0) moveEnemyAction.speed = 0.2 let removeEnemyAction = SKAction.removeFromParent() enemy.runAction(SKAction.sequence([moveEnemyAction,removeEnemyAction]), withKey: "moveEnemyAction") } func updateEnemyPath() { for enemy in self.enemies { if let action = enemy.actionForKey("moveEnemyAction") { enemy.removeAllActions() self.moveEnemy(enemy) } } } override func update(currentTime: NSTimeInterval) { self. updateEnemyPath() }