cocos2d-X学习之坐标系统
来源:互联网 发布:地图标记软件 编辑:程序博客网 时间:2024/05/22 05:08
在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学习之坐标系统
- (转载)cocos2d-X学习之坐标系统
- (转)cocos2d-X学习之坐标系统
- cocos2d-X学习之坐标系统
- cocos2d-X学习之坐标系统
- cocos2D-X源码分析之从cocos2D-X学习OpenGL(9)----变换和坐标系统
- 学习3-Cocos2D-X坐标系统
- cocos2d-x坐标系统
- cocos2d-x坐标系统
- cocos2d-x坐标系统
- cocos2d-x坐标系统
- cocos2d-x坐标系统
- cocos2d-x 坐标系统
- cocos2d-x坐标系统
- cocos2d-x坐标系统
- cocos2d-x学习之坐标体系
- Cocos2d-x 详解坐标系统
- 代码统计分析工具SourceCounter
- 黑马程序员_高新技术_泛型
- android developer API Guider之user interface---Settings(一)
- js数组的操作
- Cow Sorting(置换)
- cocos2d-X学习之坐标系统
- 编写云台控制程序精华
- 新手asp.net(c#)网页编程会用到的基本LINQ语法框架
- Android Support Library package
- HTC Sensation Android MOVE 操作的一点问题处理
- iOS崩溃分析
- ASSIC码对照表
- Android捕获错误信息发送至服务器(转载)
- 安装XCode导致mac无法正常开机怎么办