游戏中角度计算

步骤:

一、前提
  • 要知道角度首先需要计算两个坐标点(x1,y1) (原点)和 (x2,y2) (偏移点)
二、 通过两个点计算出斜率
  • 斜率计算公式 : k = (y2-y1) / (x2-x1)
三 、通过arctan反三角函数求的角度
  • 我们都知道 k = tan(α) 那么角度 α = arctan(k)
  • 具体js函数 Math.atan(k)*180/Math.PI

记录一下cocoscreator 中 如何求角度 、求弧度、某点为圆心求固定长度的向量

    stirMove(touch){
        let game_touch = this.game.convertToNodeSpaceAR(touch.touch._point);	//获取Canvas中心为(0,0)的touch坐标
        // let angle = Math.atan2((game_touch.y-this.pan.y) / (game_touch.x-this.pan.x))*180/Math.PI;  //这个可以求斜率,但是斜率是有使用限制,0-180度
        //这里不用斜率求角度,用弧度360° = 2π*rad公式得出1rad = 360° / 2π
        let dir = game_touch.sub(this.bowl.position);
        let radian = dir.signAngle(cc.v2(0,1));
        //求出角度degree
        let degree = radian / Math.PI *180; 	//angle = rad *180 / π
        console.log(degree)
        //求出坐标
        let p1 = Math.sin(radian)*120;
        let p2 = Math.cos(radian)*70;
        this.stir.position = cc.v2(p1,p2)
    }

你可能感兴趣的:(游戏开发)