关于cocos2d-x中弧度和角度的转换问题
2015-09-13 23:16
483 查看
在做地图项目时遇到了精灵在移动时无法变动朝向的问题,想着如何才能根据触摸点来改变精灵的面相角度呢,在查阅了Cocos的API后,有了一下内容:
在cocos2dx中,提供了两个宏进行弧度和角度的互换(ccMacros.h)
#define CC_DEGREES_TO_RADIANS(__ANGLE__) ((__ANGLE__) * 0.01745329252f) // PI / 180 //此为角度转换为弧度
/** @def CC_RADIANS_TO_DEGREES
converts radians to degrees
*/ #define CC_RADIANS_TO_DEGREES(__ANGLE__) ((__ANGLE__) * 57.29577951f) // PI * 180 //此为弧度转换为角度
在C++中获取两个向量之间的弧度方法为:
ccpAngle(a, b); // 返回a,b向量指示角度的差的弧度值
在获取到弧度后,可以通过宏把弧度转为角度值,例如:
float a = ccpAngle(vec1, vec2);//弧度
float b = CC_RADIANS_TO_DEGREES(a);
以上是我简单的一些了解。
具体的实现方法还要继续去研究,有好的办法的话,希望可以在此处留下您的墨宝 o(∩_∩)o
在cocos2dx中,提供了两个宏进行弧度和角度的互换(ccMacros.h)
#define CC_DEGREES_TO_RADIANS(__ANGLE__) ((__ANGLE__) * 0.01745329252f) // PI / 180 //此为角度转换为弧度
/** @def CC_RADIANS_TO_DEGREES
converts radians to degrees
*/ #define CC_RADIANS_TO_DEGREES(__ANGLE__) ((__ANGLE__) * 57.29577951f) // PI * 180 //此为弧度转换为角度
在C++中获取两个向量之间的弧度方法为:
ccpAngle(a, b); // 返回a,b向量指示角度的差的弧度值
在获取到弧度后,可以通过宏把弧度转为角度值,例如:
float a = ccpAngle(vec1, vec2);//弧度
float b = CC_RADIANS_TO_DEGREES(a);
以上是我简单的一些了解。
具体的实现方法还要继续去研究,有好的办法的话,希望可以在此处留下您的墨宝 o(∩_∩)o
相关文章推荐
- cocos2d-x 3.2 物理小游戏教程2 block it 物理世界 墙壁
- 关于ToggleMenu触发器菜单
- 【收集】cocos2dx中加载使用plist文件
- 创建自己的Sprite子类时需要做哪些工作?
- 从cocos2d中导入项目到Android
- 6、Cocos2dx 3.0游戏开发的基本概念找个小三场比赛
- Cocos2d-x Lua中实例:帧动画使用
- Cocos2d-x Lua中帧动画
- Cocos2d-x Lua中实例:特效演示
- Cocos2d-x Lua中网格动作
- Cocos2d-x Lua中多场景切换生命周期
- Cocos2d-x Lua中生命周期函数
- Cocos2d-x Lua中Sprite精灵类
- Cocos2d-x Lua中使用标签
- Cocos2d-x Lua Node与Node层级架构
- 第一个Cocos2d-x Lua游戏
- 搭建Cocos Code IDE开发环境
- cocos2dx 46 动作
- 【学习笔记】Cocos2d-JS 如何创建精灵?(一)
- Cocos2d-x添加音效