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