在调用函数时重置变量

时间:2019-06-09 20:49:52

标签: javascript html canvas

我正在编写一个游戏,其中游戏实体移动到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++
        }
    }
}

0 个答案:

没有答案