(转)cocos2d-X学习之坐标系统
2013-07-23 15:12
232 查看
cocos2d-X学习之坐标系统
在cocos2d-x中有两种坐标系,分别是屏幕坐标系和open gl坐标系。屏幕坐标系:x轴朝右,y轴朝下。默认原点在左上角,如下图:
这个是一般的图形系统使用的坐标,也是windows系统的默认坐标体系。但由于cocos2d-x引擎使用的是open gl es进行渲染的,所以其默认是用的OpenGL坐标体系,如下图:
在opengl坐标体系中有两个非常重要的参数,即锚点和位置。
锚点作为位置的参考点,锚点在设置某一个物件(如CCSprite,CCLayer)的位置时,其参照位置,数据为(0.0-1.0)之间,默认是(0.5, 0.5),也就是说其默认参照位置是该物件的中心。如果把某一物体放到屏幕的中心,对于默认anchor来说,就是把该物体的中心放到屏幕中心 ,取值在0到1之间的好处就是,锚点不会和具体物体的大小耦合,也即不用关注物件大小,而应取其对应比率,如果把锚点改成(0,0),则进行放置位置时,以图片左上角作为起始点,也就是放置位置设置对应的点。
位置顾名思义就是物体的位置。
在调用任何需要设置位置的函数或从函数获取位置信息前,必须要明确这个函数使用的是哪个坐标系,如调用CCNode类的setPosition函数,它使用的就是GL坐标系,而在处理触摸时间时CCTouch对象在宏的坐标就是屏幕坐标。
另一个重要的坐标系就是和Node相关的本地坐标系。这个结构和一般做3D用的场景树的概念是一样的。所以从Node拿到的位置是该节点的本地坐标,需要通过特定的函数才能把本地坐标转换为世界坐标。而且这里的坐标都用的是GL坐标系。在CCNode对象中有几个方便的函数可以做坐标转换。convertToWorldSpace方法可以把基于当前node的本地坐标系下的坐标转换到世界坐标系中。convertToNodeSpace方法可以把世界坐标转换到当前node的本地坐标系中。
转自:http://www.cnblogs.com/lhming/archive/2012/07/01/2572272.html
相关文章推荐
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第十课:Cocos2D-X坐标系统1
- cocos2d-X学习之坐标系统
- cocos2D-X源码分析之从cocos2D-X学习OpenGL(9)----变换和坐标系统
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第十一课:Cocos2D-X坐标系统2-3
- 学习3-Cocos2D-X坐标系统
- cocos2d-X学习之坐标系统
- cocos2d-X学习之坐标系统
- cocos2d-X学习之坐标系统
- (转载)cocos2d-X学习之坐标系统
- cocos2d-X学习之坐标系统
- 【iOS-Cocos2d游戏开发之十】添加粒子系统特效并解决粒子特效与Layer之间的坐标问题;
- 【iOS-Cocos2d游戏开发之十】添加粒子系统特效并解决粒子特效与Layer之间的坐标问题;
- Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标和默认锚点实验
- Cocos2d-x学习:根据贝塞尔曲线进行抛物线移动补充,三角形顶点坐标获取某个角的角度
- iPhone应用Cocos2D坐标系统设置
- VTK学习(七)坐标系统和空间变换
- cocos2dx游戏开发学习笔记(六)之坐标系统
- Qt 学习之路 :坐标系统
- cocos2d-x学习之坐标体系
- cocos2d-x学习笔记14:粒子系统1:简介&工具使用