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






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM