我正在創建一個簡單的Sprite Kit游戲,它將玩家放置在屏幕的左側,而敵人則從右側靠近。由于玩家可以上下移動,我希望敵人“聰明地”調整他們朝向玩家的路徑。我試圖在玩家移動時刪除并重新添加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()}
- 1 回答
- 0 關注
- 403 瀏覽
添加回答
舉報
0/150
提交
取消