追踪子弹-初中简单的物理和数学


飞行射击类游戏很常用的追踪子弹,或者塔防里面固定炮台打 怪物的时候,为了保证子弹不会打空,追踪是必要的。

然而,这是极其简单的事情。

在每一帧里判断当前子弹和目标位置的距离和方向,不断修正 速度方向即可。

// 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