前端之家收集整理的这篇文章主要介绍了
cocos2d-js导弹跟踪算法(一边追着目标移动一边旋转角度),
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
- 跟踪导弹
- function(targetPosition){
- // 让物体朝目标移动的方法 var speed = 5;
- var targetPoint = targetPosition;
- var thisPoint = cc.p(this.x,this.y);
- //求两点的差值,其实就是两点的坐标相减 var delta = cc.pSub(targetPoint,thisPoint);
- // 求当前对象和目标两点间的距离 var distance = cc.pDistance(thisPoint,targetPoint);
- // 计算行走后的点xy坐标 var x2 = thisPoint.x +speed *delta.x /distance;
- var y2 = thisPoint.y + speed *delta.y/distance;
- if(100>=distance){
- return true;
- }
- // 修改当前对象的位置 var newPosition = cc.p(x2,y2);
- this.setPosition(newPosition);
- // 旋转相应的角度 var x1 = thisPoint.x;
- var y1 = thisPoint.y;
- var deltaRotation = 90-Math.atan2(y2-y1,x2-x1)*180/Math.PI;
- this.setRotation(deltaRotation);
- return false;
- }效果请看游戏地址 http://www.seraph-fd.cn/games/1/index.html