zoukankan      html  css  js  c++  java
  • 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





  • 相关阅读:
    HDU 1856 More is better
    并查集模板
    HDU 1325 Is It A Tree?
    HDU 1272 小希的迷宫
    CodeVS 2639 约会计划
    POJ 1163 数字三角形
    HDU 1232 畅通工程
    HDU 1213 How Many Tables
    树形结构打印二叉树
    网址收藏
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/6964836.html
Copyright © 2011-2022 走看看