您的位置:首页 > 移动开发 > Cocos引擎

Cocos坐标体系

2016-03-27 10:33 267 查看



有如下几个概念:

表示方法:Vec2 其本质上就是一个Point,由两个float组成,表示x和y。

UI坐标:手机的定义坐标,其原点是在左上角的,我们通常把带有View的函数认为是和UI坐标相关的函数,可以获取UI坐标的触摸对象:touch->getLocationInView()

OpenGl坐标:这是一个三维坐标,原点在左下角

世界坐标:遵循OpenGL坐标标准,原点也在左下角,scene和layer默认与世界坐标重合

模型坐标:就是精灵们的坐标,也遵循OpenGL,左下角

锚点坐标:实际上是遵循其节点的模型坐标的,模型左下角为原点

//GL坐标和UI坐标之间的转换:
Vec2 ptInView =
Director::getInstance()->convertToUI(ptInGL);
Vec2 ptInGL =
Director::getInstance()->convertToGL(ptInView);
// 世界坐标和节点坐标
Vec2 ptInSprite =sprite->convertToNodeSpace(ptInWorld);
Vec2 ptInWorld =sprite->convertToWorldpace(ptInSprite);
要注意的是,就是在setposition时,节点是以锚点为准控制位置的。

1. 左下角为原点,x轴向右,y轴向上,称之为GL坐标体系
2. 左上角为原点,x轴向右,y轴向下,称之为UI坐标体系
3. 在cocos2dx中,使用GL坐标系统
4. 游戏中窗口的GL坐标体系,称之为世界坐标体系
5. 游戏中每个节点都有自己的GL坐标体系,成之为节点坐标题
7. 节点之间的转换,要先转换成世界坐标
8. 节点获得地理位置信息的坐标值,都是其父节点坐标体系中的坐标值
getPosition();
getBoundingBox();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: