Javascript 函数调用时重置变量
我正在编写一个游戏,其中一个游戏实体移动到HTML画布上的某个位置。此位置是一个变量,只能在第一次调用函数时设置,以避免对其进行更新。然而,我希望能够重新计算这个变量,让我的玩家朝另一个方向移动 我尝试使用变量“I”仅在第一次调用时计算方向,以避免在更新循环中重新计算。不幸的是,当我需要另一个值时,这会阻止我重新计算变量 矢量“vec”是位置变量。“this.x”和“this.y”是游戏对象的位置坐标Javascript 函数调用时重置变量,javascript,html,canvas,Javascript,Html,Canvas,我正在编写一个游戏,其中一个游戏实体移动到HTML画布上的某个位置。此位置是一个变量,只能在第一次调用函数时设置,以避免对其进行更新。然而,我希望能够重新计算这个变量,让我的玩家朝另一个方向移动 我尝试使用变量“I”仅在第一次调用时计算方向,以避免在更新循环中重新计算。不幸的是,当我需要另一个值时,这会阻止我重新计算变量 矢量“vec”是位置变量。“this.x”和“this.y”是游戏对象的位置坐标 this.moveRange = function(dis) { this.vec
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++
}
}
}
this.moveRange=函数(dis){
this.vec=new function(){this.x=Math.floor(Math.random()*范围);this.y=Math.floor(Math.random()*范围)}
如果(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
如果(距离>2){
如果(a