cocos2d-x坐标系
在cocos2d-x在,有几种不同的坐标系。
因为有好几个坐标系着一定的差异,他们需要明白,能力更精确的绘制各种图形画面上。
1.屏幕坐标系
只windows通过绘制图形上基本都知道。相应的坐标系统:原点在左上角。向右是x轴正方向,向下时y轴正方向。cocos2d-x中的屏幕坐标系也是这种。我们手机的屏幕就是相应的屏幕坐标系。当我们用手点击手机屏幕,得到的点就是相应的屏幕坐标系的坐标。
2.OpenGL坐标系
OpenGL坐标系是在cocos2d-x中进行计算时使用的坐标系。它的原点是屏幕左下角,向右是x轴正方向,向上市y轴正方向。因为它与屏幕坐标系不一样,所以当我们得到屏幕坐标系下的坐标时,得先将其转换为OpenGL坐标系下的坐标,才干进行对应的计算,如触屏事件中,得到的坐标,每次都得先进行转换。将屏幕坐标转换为OpenGL坐标,能够使用CCDirector的convertToGL函数。
3.世界坐标系
一个游戏就相当于一个虚拟的世界。在这个游戏世界中。每一个物体都有它相相应的位置,亦就是坐标。所以能够说世界坐标系就是相应于整个游戏的坐标系,是一个物体在游戏世界里的绝对坐标系。
4.相对坐标
虽然我们在设置物体的坐标的时候能够直接定义它在世界坐标系中的绝对坐标。可是在cocos2d-x中使用较多的却是相对坐标。由于在cocos2d-x中是以树的形式组织对象的,所以一个子节点对象的坐标系仅仅參考它的父节点对象。所以叫作相对坐标。
就好比一个人,在汽车里,无论汽车在地面上怎么开动,仅仅要这个人在汽车上保持不动。他在相对于汽车的坐标系里面的坐标是不变的。cocos2d-x中的setPosition函数设置的就是其相对于父节点的坐标。而不是世界坐标。
设置相对坐标的优点是显而易见的。一个物体可能有非常多部分组成,当须要移动或者总体旋转缩放时,我们能够把它增加一个CCNode里面。然后直接到CCNode操作到。便利。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
cocos2d-x坐标系的更多相关文章
- cocos2D(五岁以下儿童)---- CCNode
本将主要介绍下CCNode这个类.CCNode是全部节点的基类,当中包含我们经常使用的CCScene(场景).CCLayer(图层).CCSprite(精灵)等.它是一个不可以可视化显示的抽象类,仅仅 ...
- 五、CCNode
本将主要介绍下CCNode这个类,CCNode是所有节点的基类,其中包括我们常用的CCScene(场景).CCLayer(图层).CCSprite(精灵)等,它是一个不能够可视化显示的抽象类,只是用来 ...
- flash 动画数据导出 到 coco2d-js ,cocos2d-x 问题的记录
1:必须搞清flash坐标系 和 cocos2d 的坐标系的差异2:对于cocos2d系列坐标系的深入理解: 以前我们常认为 coco2d-x的X,Y是相对坐标系,相对于父节点的X,Y的坐标,这种说法 ...
- cocos2d-x学习笔记
转自:http://blog.csdn.net/we000636/article/details/8263503 接受触屏事件的优先级是值越小,响应触屏事件的优先级越高 Z值越大,越外面 JNI:允许 ...
- UML设计,可以设计程序的用例图、类图、活动图等_SurfaceView
« 对Cocos2d游戏引擎有一定的了解和实践,并接触过处理3D图形和模型库的OpenGL 在进行游戏界面的绘制工作中,需要处理大量的工作,这些工作有很多共性的操作:并且对于游戏界面的切换,元素动作的 ...
- Cocos2d坐标系转换
Cocos2d-x坐标系和OpenGL坐标系相同,都是起源于笛卡尔坐标系(高中数学里面那种). 笛卡尔坐标系 笛卡尔坐标系中定义右手系原点在左下角,x向右,y向上,z向外,OpenGL坐标系为笛卡尔右 ...
- 【Cocos2d入门教程七】三分钟看懂Cocos2d坐标系
无论是搞2d还是3d开发,最需要搞清楚的就是坐标系,这部分混乱的话就没啥搞头了.所以玩cocos2d,一上来就需要先把各种与坐标有关的东西搞清楚. 1.OpenGL坐标系 Cocos2d-x使用的是O ...
- Cocos-2d 坐标系及其坐标转换
Cocos-2d中,涉及到4种坐标系: GL坐标系Cocos2D以OpenglES为图形库,所以它使用OpenglES坐标系.GL坐标系原点在屏幕左下角,x轴向右,y轴向上. 屏幕坐标系苹果的Quar ...
- 一张图了解cocos2d坐标系
一张图了解cocos2d坐标系 平面直角坐标系
- Cocos-2d 坐标系
Cocos-2d中,涉及到4种坐标系: GL坐标系:Cocos2D以OpenglES为图形库,所以它使用OpenglES坐标系.GL坐标系原点在屏幕左下角,x轴向右,y轴向上. getLocation ...
随机推荐
- JavaScript—DOM操作
- WinMM.dll 函数汇总
#include "MMSystem.h" auxGetDevCaps 查询指定的辅助输出设备以确定其性能 auxGetNumDevs ...
- ogre sample分析(一)
ogre自带了一些例子,逐个过一遍并自己动手做一些调整 1 Sample_BezierPatch:这个例子直接用数值来构造顶点缓存并创建entity,这种方法一般只能创建简单对象,本人以为复杂对象顶点 ...
- 如何解决KEIL 5 编KEIL4同RTX系统的project解决方法
1.我个人KEIL5与KEIL4对照 相较于KEIL 5 的"华丽".笔者还是喜欢KEIL4的"内敛",主要也还是习惯了.懒得换了.由于工作的 原 ...
- Android开发周报:Android L默认加密用户数据
Android开发周报:Android L默认加密用户数据 新闻 <iCloud前车之鉴,Android L默认开启加密功能>:iCloud 艳照风波再起,第二波女星照片流出,大量女星的裸 ...
- [品质生活] 舒适 Schick HYDRO 5剃须刀
[品质生活] 舒适 Schick HYDRO 5剃须刀 [品质生活] 舒适 Schick HYDRO 5剃须刀
- 【CSS3】transform-origin原点旋转
忙乱, 点 -moz-transform-origin: 0 0; -webkit-transform-origin:0 0; -o-transform-origin:0 0; 以右上角给原点 -mo ...
- POJ-1324-Holedox Moving(BFS)
Description During winter, the most hungry and severe time, Holedox sleeps in its lair. When spring ...
- OpenCV-Python教程(5、初级滤波内容)
本篇文章介绍如何用OpenCV-Python来实现初级滤波功能. 提示: 转载请详细注明原作者及出处,谢谢! 本文介绍使用OpenCV-Python实现基本的滤波处理 本文不介绍滤波处理的详细概念,所 ...
- ArrayBlockingQueue和LinkedBlockingQueue的区别
ArrayBlockingQueue和LinkedBlockingQueue的区别,得出结论如下: 1. 队列中锁的实现不同 ArrayBlockingQueue实现的队列中的锁是没有分离的,即生产和 ...