前端之家收集整理的这篇文章主要介绍了
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
原文链接:https://www.f2er.com/cocos2dx/341684.html