Javascript 我的Html画布游戏中的延迟
我开始用Html画布和JavaScript制作一个视频游戏:你是一个外星人,必须射杀其他红色外星人。如果你靠近一个外星人(敌人),敌人开始向你的方向移动。现在,如果玩家靠近一个敌人,那就是另一个敌人附近(但看不到玩家),游戏开始延迟 这是距离的函数,移动到函数:Javascript 我的Html画布游戏中的延迟,javascript,html,canvas,lag,Javascript,Html,Canvas,Lag,我开始用Html画布和JavaScript制作一个视频游戏:你是一个外星人,必须射杀其他红色外星人。如果你靠近一个外星人(敌人),敌人开始向你的方向移动。现在,如果玩家靠近一个敌人,那就是另一个敌人附近(但看不到玩家),游戏开始延迟 这是距离的函数,移动到函数: this.moveto = function(vec,vel){ distX = vec.x - vec.offsetx - this.x distY = vec.y - vec.offsety - this.
this.moveto = function(vec,vel){
distX = vec.x - vec.offsetx - this.x
distY = vec.y - vec.offsety - this.y
dist = Math.sqrt(distX*distX + distY*distY)
distX /= dist
distY /= dist
i+= 1
if(dist >= 2){
this.x += (distX/100)*vel
this.y += (distY/100)*vel
}
}
this.dist = function(vec){
dist2X = vec.x - vec.offsetx - this.x
dist2Y = vec.y - vec.offsety - this.y
dist2 = Math.sqrt(dist2X*dist2X + dist2Y*dist2Y)
return(dist2)
}
这就是它的使用方式:
for(i = 0; i < this.enemies.length; i++){
this.enemies[i].update()
if(this.enemies[i].dist(this.player) > 100){
this.enemies[i].move()
}else{
this.enemies[i].moveto(this.player,30)
}
if(this.enemies[i].lives <= 0){
this.enemies.splice(i,1)
}
}
for(i=0;i100){
this.敌军[i].move()
}否则{
这个。敌人[i]。移动到(这个。玩家,30)
}
if(this.friends[i].lives 2&&this.passi 10){
这个指数=0;
这是帕西++
}
}否则{
此.passi=0
}
}
返回(this.vector)
这是git存储库:我建议您使用Chrome开发工具评测javascript。有很多解释如何做到这一点。希望你能修好它^^谢谢你的建议
this.vector = new Vector(x,y,534/8,1517/8)
this.vector.move = function(){
if(this.passi <= 2){ //1
game.rspe.play()
if(game.level.tick){
this.IndexX++;
}
this.currentImage = game.enemyl
this.x-=3;
if (this.IndexX > 10){
this.passi++
this.IndexX = 0;
}
}else if(this.passi > 2 && this.passi <= 5){ //2
game.rspe.play()
if(game.level.tick){
this.IndexX++;
}
this.currentImage = game.enemyr
this.x+=3;
if (this.IndexX > 10){
this.IndexX = 0;
this.passi++
}
}else{
this.passi = 0
}
}
return(this.vector)