cocos2d-x 3.x 弧度转角度(学习笔记)
2016-01-18 09:20
537 查看
关于弧度转角度问题
注:在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
又如例子:
vector(offX,offY)是触摸点到弓箭之间的向量,通过
getAngle 方法,我们可以得到vector向量与X轴之间的弧度。
再者,我们需要把弧度 rotateRadians转化为角度,
-1是因为Cocos2d-x中规定顺时针方向为正,这与我们计算出的角度方向相反,所以转化的时候需要把角度a变为-a。
注:在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
又如例子:
vector(offX,offY)是触摸点到弓箭之间的向量,通过
getAngle 方法,我们可以得到vector向量与X轴之间的弧度。
再者,我们需要把弧度 rotateRadians转化为角度,
CC_RADIANS_TO_DEGREES就是能把弧度转化为角度的宏。转化时乘
-1是因为Cocos2d-x中规定顺时针方向为正,这与我们计算出的角度方向相反,所以转化的时候需要把角度a变为-a。
相关文章推荐
- cocos2dx 常见的49中动作详解
- 详解cocos2d帧率FPS
- cocos studio 2.3支持骨骼动画编辑
- 01、cocos2d简介
- (cocos2d-js游戏)測试你的反应速度----------基本逻辑(上)
- cocos进入后台
- Cocos2d-iPhone V3 (2) 场景转换
- cocos2d-x3.2类FileUtils--实现把资源放在Resources文件目录下达到多平台的引用
- cocos2d-x 3.x游戏开发学习笔记(1)--mac下配置cocos2d-x 3.x开发环境
- Cocos2d-x学习笔记(一)HelloWorld
- COCOS学习笔记--单点触控
- Cocos2d 游戏状态机
- cocostudio内存释放
- convertToNodeSpace等Cocos2dx中坐标系转换解析
- cocos2d场景切换函数锦集
- Cocos2dx个人笔记之坐标系
- cocos2d-x学习过程中的疑问
- cocos2dx-flappy bird
- quick-cocos2dx-lua之精灵移动后的回调函数
- Cocos2d-x 3.x 引擎目录结构