如何计算2精灵之间的矢量
CraftyJS how to calculate vector between 2 sprites?
我是一个游戏编程新手,数学不太好,我正试图编写一款1945年风格的射击游戏,到目前为止一切都很好,但我遇到了瓶颈,我不知道如何让敌人瞄准玩家。
假设我有敌人精灵和玩家精灵,我该如何找到角度和路径?这听起来像是计算2点之间的矢量,我一直在阅读文档,特别是这个链接http://craftyjs.com/api/Crafty-math-Vector2D.html
我就是不知道怎么做,我试过下面的
var enemyV = Crafty.math.Vector2D(enemy.x, enemy.y);
var playerV = Crafty.math.Vector2D(player.x, player.y);
var angle = enemyV.angleTo(playerV);
角度的值总是在-3到3之间,这看起来根本不是直角。
我希望有CraftyJS经验的人可以帮助我。
angleTo
函数返回弧度值,因此运行此函数将给出实际的角度Crafty.math.radToDeg(radianValue)
为了瞄准玩家并让子弹朝那个方向移动,你只需要获得2点的差值bullet.x - player.x'
子弹。Y - player。然后应用如下所示的增量速率(
bullet.x_diff = (target.x - bullet.x)*0.02;
bullet.y_diff = (target.y - bullet.y)*0.02;
then inside enterframe loop:
this.x += this.x_diff;
this.y += this.y_diff;
一旦你明白了这个想法,你应该通过除以点之间的距离来标准化你的diff。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 全局变量和全局对象的属性之间有什么区别吗
- java.net和javascript之间正则表达式的差异
- JavaScript中的函数和对象之间没有区别吗?
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- Jquery在函数之间传递表行
- 根据某些条件在视图之间切换
- 在控制器和数据对象之间同步数据
- d3中堆栈函数和嵌套函数之间的差异
- JQuery:在页面之间滑动
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 操作放置在画布上的元素之间的连接
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- jquery在表单之间切换
- 2个精灵之间的碰撞令人担忧
- ThreeJS:Web GL 渲染器和 Canvas 渲染器之间的文本精灵字体大小差异
- 如何计算2精灵之间的矢量
- Javascript精灵在两点之间移动
- 相位器中图形和精灵之间的碰撞检测
- 当动画进入精灵表时,设置两帧之间的时间延迟