Как переместить противника в сторону движущегося игрока?

Я создаю простую игру с набором спрайтов, которая расположит игрока с левой стороны экрана, а враги - справа. Поскольку игрока можно перемещать вверх и вниз, я хочу, чтобы враги «ловко» корректировали свой путь к игроку.

Я пытался удалить и повторно добавить последовательность 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)

Ваш ответ на вопрос