cocos2d-x 3.x 弧度转角度(学习笔记)

关于弧度转角度问题


注:在cocos2d-x 中顺时针方向为正方向。

通过例子来说明:

/*

getAngle()方法是得到向量Vec2(9.0,-9.0f)X轴的夹角弧度

floatrotateAngle =CC_RADIANS_TO_DEGREES(angle1*(-1));//将得到的弧度转换成角度

*/

         floatangle1 =Vec2(9.0f,-9.0f).getAngle();//第四区间

         floatangle2 =Vec2(-9.0f,-9.0f).getAngle();第三区间

         floatangle3 =Vec2(9.0f,9.0f).getAngle();//第一区间

         floatangle4 =Vec2(-9.0f,9.0f).getAngle();//第二区间

         floatrotateAngle1 =CC_RADIANS_TO_DEGREES(angle1*(-1));

         floatrotateAngle2 =CC_RADIANS_TO_DEGREES(angle2*(-1));

         floatrotateAngle3 =CC_RADIANS_TO_DEGREES(angle3*(-1));

         floatrotateAngle4 =CC_RADIANS_TO_DEGREES(angle4*(-1));

         CCLOG("angle1=  %f,angle2 =%f,angle1 =  %f,angle1 = %f\n",angle1,angle2,angle3,angle4);

         CCLOG("angle1=  %f",rotateAngle1);

         CCLOG("angle2=  %f",rotateAngle2);

         CCLOG("angle3=  %f",rotateAngle3);

         CCLOG("angle4=  %f",rotateAngle4);

输出结果:

弧度:angle1 =  -0.785398,angle2=-2.356194,angle1 =  0.785398,angle1=  2.356194

角度:

angle1 = 45.000000

angle2 = 135.000000

angle3 = -45.000000

angle4 = -135.000000


又如例子:


vectoroffXoffY是触摸点到弓箭之间的向量,通过 getAngle 方法,我们可以得到vector向量与X轴之间的弧度。 
再者,我们需要把弧度 rotateRadians转化为角度,CC_RADIANS_TO_DEGREES就是能把弧度转化为角度的宏。转化时乘 -1是因为Cocos2d-x中规定顺时针方向为正,这与我们计算出的角度方向相反,所以转化的时候需要把角度a变为-a




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值