cocos2d-x 2.1坐标转换总结
来源:互联网 发布:吉视传媒网络怎么样 编辑:程序博客网 时间:2024/05/16 11:08
转自:http://blog.csdn.net/liuyu832/article/details/9249523
cocosd-x是基于openGLES的,所以遵循openGL的坐标系,也就是说是以屏幕的左下角为坐标原点,如下图:
屏幕坐标系一般是以左下角为坐标原点,如下图所示:
在开发cocos2d-x程序时一定要注意坐标轮换问题,屏幕与openGL坐标转换有相应的函数。
- convertToNodeSpace(const CCPoint& worldPoint): 这个函数把世界坐标转换为对象窗口内的坐标。
- convertToWorldSpace(const CCPoint& nodePoint): 这个函数把对象窗口内的坐标转换为世界坐标。
- convertToNodeSpaceAR(const CCPoint& worldPoint):这个函数把世界坐标转换为基于锚点的窗口内的坐标。
- convertToWorldSpaceAR(const CCPoint& nodePoint):这个函数把基于锚点的对象窗口内的坐标转换为世界坐标。
用到cocos2dX的坐标转换,一般两种情况:
1)从当前坐标点获取世界坐标点(屏幕坐标点,opengl的坐标系)
2)从当前坐标点获取相对于某个CCNode的坐标点;
第一种情况,直接用:nodeParent->convertToWorldSpace(node->getPosition());
这里一定是需要转换坐标对象的父类调用convertToWorldSpace,参数是对象的坐标点(相对于父类的坐标点);
返回的是屏幕坐标点;
第二种情况,直接用:node2->convertToNodeSpace(node1->getPosition);
node2并不是node1的父类,现在的情况就是:node1想得到相对于node2坐标系的坐标点;
返回的是相对于node2坐标系的坐标点。
注意:以上的调用,是没有考虑nodeParent和node2的anchorPoint的(就是使用了0,0的锚点);考虑到锚点就使用:
convertToWorldSpaceAR()和convertToNodeSpaceAR();
PS:AR的意思是不是Anchor Relative???
nodeParent->convertToWorldSpaceAR(node->getPosition()); //因为默认是0,0的锚点,
所以其得到的坐标点是 ccpAdd(nodeParent->convertToWorldSpace(node->getPosition()),ccp(nodeParent->getContentSize.width*0.5,nodeParent->getContentSize.height*0.5))
node2->convertToNodeSpaceAR(node1->getPosition); //因为默认是0,0的锚点,
所以其得到的坐标点是 ccpSub(nodeParent->convertToWorldSpace(node->getPosition()),ccp(node2->getContentSize.width*0.5,node2->getContentSize.height*0.5))
- cocos2d-x 2.1坐标转换总结
- cocos2d-x 2.1坐标转换总结
- cocos2d-x 坐标转换总结
- cocos2d-x 坐标转换总结
- Cocos2d-x 坐标转换
- Cocos2d-x 坐标转换
- cocos2d-x 2.1版本坐标转换
- cocos2d-X 的坐标转换
- Cocos2d-x中的坐标转换
- cocos2d-x 45角转换坐标
- cocos2d-x-Tiled 地图坐标 转换
- cocos2d-x-Tiled 地图坐标 转换 .
- cocos2d-x Tiled地图坐标转换
- cocos2d-x-Tiled 地图坐标 转换
- cocos2d-x 节点坐标转换为世界坐标
- cocos2d-x -------------------------------世界坐标本地坐标之间的转换
- cocos2d-x 世界坐标与模型坐标互相转换
- 小火来说 cocos2d-x 坐标转换API的详解
- Caused by: java.io.FileNotFoundException
- 驾驶的飞机就挨打时加大设计费案件是否甲方
- LeetCode刷题笔录Minimum Depth of Binary Tree
- 减肥的撒康复科大家撒卡萨丁发
- UVa 10310 - Dog and Gopher
- cocos2d-x 2.1坐标转换总结
- 【数据结构之List::iterator】leetcode LRUCache
- 开源夏令营之项目汇报3
- Cocos2d-x 3.0 新特性内容
- Oracle索引整理的详细描述
- php高级研发或架构师必了解
- 隐私策略
- PHP 一些小技术
- java线程 同步临界区:thinking in java4 21.3.5