Сбросить переменную при вызове функции - PullRequest
1 голос
/ 09 июня 2019

Я программирую игру, в которой игровая сущность перемещается в определенную позицию на холсте HTML. Эта позиция является переменной, которая может быть установлена ​​только при первом вызове функции, чтобы избежать ее обновления. Однако я хочу иметь возможность пересчитать эту переменную, чтобы мой игрок мог двигаться в другом направлении.

Я пытался использовать переменную "i" для вычисления направления только при первом вызове, чтобы избежать пересчета в цикле обновления. К сожалению, это мешает мне пересчитать переменную, когда мне нужно другое значение

вектор "vec" является переменной положения. «this.x» и «this.y» - координаты положения игрового объекта.

this.moveRange = function(dis) {

    this.vec = new function(){this.x = Math.floor(Math.random() * range); this.y = Math.floor(Math.random() * range)}
    if(i == 0){
        distX   = this.vec.x - this.x
            distY   = this.vec.y - this.y

        dist    = Math.sqrt(distX*distX + distY*distY)
        distX /= dist
        distY /= dist
    }
    i+= 1
    if(dist > 2){
        if(a < dis){
        this.x += (distX/100)*this.vel
        this.y += (distY/100)*this.vel
            a++
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...