文章转自:https://www.dadadatou.com/archives/star1.html
我们需要实现的效果是让一个物体实时的瞄准另外一个物体。
第一步:获取目标点的坐标(tagpos)以及自身的坐标(nodepos),再将自身坐标减去目标点的坐标,得到一个新的坐标值如图所示。
第二步:通过新的坐标值我们来计算出自身所需要旋转的弧度。这里我们需要用到Math.atan2这个函数
至于为什么不用Math.atan是因为他的取值范围在(-PI/2, PI/2)。
最终我们求得需要旋转的弧度如图所示
第三步:通过前两个步我们到了自身所需要旋转的弧度,我们现在需要做的就是将弧度转化为角度。
如图所示
至于这里为什么会需要加上90度就需要看下面这张图了
从这张图我们可以看到我们所求的角度其实是θ1,而我们最终需要旋转的角度是θ5,这里我只写出了第一象限的计算过程剩下的就要各位自己去计算了。千万记住cocos里angle是以逆时针方向转动为正值。
还有不懂得地方可以留言
最后附上源码图和效果图