飛行射擊類游戲很常用的追蹤子彈,或者塔防里面固定炮台打 怪物的時候,為了保證子彈不會打空,追蹤是必要的。
然而,這是極其簡單的事情。
在每一幀里判斷當前子彈和目標位置的距離和方向,不斷修正 速度方向即可。
// this.x, this.y 表示當前子彈的位置
// this.tar.x, this.tar.y 表示當前目標的位置
var dis = Math.sqrt(Math.pow((this.tar.x-this.x), 2) + Math.pow((this.tar.y - this.y), 2));
var angleX = (this.tar.x - this.x)/dis;
var angleY = (this.tar.y - this.y)/dis;
this.speedX = speed * angleX;
this.speedY = speed * angleY;
this.x += this.speedX;
this.y += this.speedY;
算出速度方向,然后 速度*dt 疊加到 位移即可。