追蹤子彈-初中簡單的物理和數學


飛行射擊類游戲很常用的追蹤子彈,或者塔防里面固定炮台打 怪物的時候,為了保證子彈不會打空,追蹤是必要的。

然而,這是極其簡單的事情。

在每一幀里判斷當前子彈和目標位置的距離和方向,不斷修正 速度方向即可。

// 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 疊加到 位移即可。

Trace Bullet




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM