cocoscreater 旋转角度计算

getVectorRadians( x1,  y1,  x2,  y2)
    {
        
        let len_y = y2 - y1;
        let len_x = x2 - x1;

        let tan_yx = Math.abs(len_y)/Math.abs(len_x);
        let angle = 0;
        if(len_y > 0 && len_x < 0) {
        angle = Math.atan(tan_yx)*180/Math.PI - 90;
        } else if (len_y > 0 && len_x > 0) {
        angle = 90 - Math.atan(tan_yx)*180/Math.PI;
        } else if(len_y < 0 && len_x < 0) {
        angle = -Math.atan(tan_yx)*180/Math.PI - 90;
        } else if(len_y < 0 && len_x > 0) {
        angle = Math.atan(tan_yx)*180/Math.PI + 90;
        }
        return angle;
    },


//另一种计算方式

rotationTarget(startPos,endPos){
        let direction = endPos.sub(startPos).normalize(); 
var radian = direction.signAngle(cc.v2(1,0)); //将弧度转换为欧拉角 var angle = radian / Math.PI * 180 + 90; //赋值给节点 return angle; }

  

posted @ 2019-08-29 16:29  suneil  阅读(4799)  评论(0编辑  收藏  举报