欢迎光临散文网 会员登陆 & 注册

CocosCreator:已知两点(坐标)求角度

2021-07-22 16:33 作者:会飞的蜗牛007  | 我要投稿

在游戏中经常会用到调整角度的问题,而且大部分需要动态调整:比如子弹发射的角度,枪口瞄准敌人的角度,不可能写死了。基本都是已知两个坐标点,动态的去更改子弹或枪口的角度。

js中有一个函数Math.atan2() 返回从原点(0,0)到(x,y)点的线段与x轴正方向之间的平面角度(弧度值),也就是Math.atan2(y,x)

同理,如果另外一个点不是原点(0,0),只需要把该线段平移到原点即可:

let theangle  = Math.atan2(pos1.y - pos2.y, pos1.x - pos2.x)  //弧度  

let theta  = theangle * 180 / Math.PI ;  //角度  

上面就求出了线段与x轴正方向之间的平面角

如果想要求与y轴,因为creator中的节点angle属性的初始0,是y轴的正方向

只需要把let theta  = theangle * 180 / Math.PI ;  //角度  

改成

let theta  = theangle * 180 / Math.PI - 90;  //角度  

完了后面具体怎么设置角度(缓动或直接设置都Ok)就看需求了


CocosCreator:已知两点(坐标)求角度的评论 (共 条)

分享到微博请遵守国家法律