在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坐标系的更多相关文章

  1. cocos2D(五岁以下儿童)---- CCNode

    本将主要介绍下CCNode这个类.CCNode是全部节点的基类,当中包含我们经常使用的CCScene(场景).CCLayer(图层).CCSprite(精灵)等.它是一个不可以可视化显示的抽象类,仅仅 ...

  2. 五、CCNode

    本将主要介绍下CCNode这个类,CCNode是所有节点的基类,其中包括我们常用的CCScene(场景).CCLayer(图层).CCSprite(精灵)等,它是一个不能够可视化显示的抽象类,只是用来 ...

  3. flash 动画数据导出 到 coco2d-js ,cocos2d-x 问题的记录

    1:必须搞清flash坐标系 和 cocos2d 的坐标系的差异2:对于cocos2d系列坐标系的深入理解: 以前我们常认为 coco2d-x的X,Y是相对坐标系,相对于父节点的X,Y的坐标,这种说法 ...

  4. cocos2d-x学习笔记

    转自:http://blog.csdn.net/we000636/article/details/8263503 接受触屏事件的优先级是值越小,响应触屏事件的优先级越高 Z值越大,越外面 JNI:允许 ...

  5. UML设计,可以设计程序的用例图、类图、活动图等_SurfaceView

    « 对Cocos2d游戏引擎有一定的了解和实践,并接触过处理3D图形和模型库的OpenGL 在进行游戏界面的绘制工作中,需要处理大量的工作,这些工作有很多共性的操作:并且对于游戏界面的切换,元素动作的 ...

  6. Cocos2d坐标系转换

    Cocos2d-x坐标系和OpenGL坐标系相同,都是起源于笛卡尔坐标系(高中数学里面那种). 笛卡尔坐标系 笛卡尔坐标系中定义右手系原点在左下角,x向右,y向上,z向外,OpenGL坐标系为笛卡尔右 ...

  7. 【Cocos2d入门教程七】三分钟看懂Cocos2d坐标系

    无论是搞2d还是3d开发,最需要搞清楚的就是坐标系,这部分混乱的话就没啥搞头了.所以玩cocos2d,一上来就需要先把各种与坐标有关的东西搞清楚. 1.OpenGL坐标系 Cocos2d-x使用的是O ...

  8. Cocos-2d 坐标系及其坐标转换

    Cocos-2d中,涉及到4种坐标系: GL坐标系Cocos2D以OpenglES为图形库,所以它使用OpenglES坐标系.GL坐标系原点在屏幕左下角,x轴向右,y轴向上. 屏幕坐标系苹果的Quar ...

  9. 一张图了解cocos2d坐标系

    一张图了解cocos2d坐标系 平面直角坐标系

  10. Cocos-2d 坐标系

    Cocos-2d中,涉及到4种坐标系: GL坐标系:Cocos2D以OpenglES为图形库,所以它使用OpenglES坐标系.GL坐标系原点在屏幕左下角,x轴向右,y轴向上. getLocation ...

随机推荐

  1. UVA11324-- The Largest Clique(SCC+DP)

    题目链接 题意:给出一张有向图,求一个结点数最大的结点集,使得该结点集中随意两个结点u和v满足:要么u能够到到v,要么v能够到达u(u和v能够互相到达) 思路:我们能够缩点,用Tarjan求出全部强连 ...

  2. Android studio ElasticDownloadView

    找到个开源项目,地址:https://github.com/Tibolte/ElasticDownload 下载进度效果: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkb ...

  3. Struts2获取演示示例教程

    回想Struts2的使用过程,网上搜的教程多多少少都会有点问题.又一次记录下创建过程,方便查阅. 1.下载Struts2的jar包 下载地址:http://archive.apache.org/dis ...

  4. ADO异步查询显示进度条

    一般,ADO都是以同步的方式来处理数据.这就是说,当ADO开始处理数据后,应用程序必须等到ADO处理完毕之后才可以继续执行.但是除了同步执行方式之外,ADO也提供了异步执行的方式,允许当ADO处理时, ...

  5. 与众不同 windows phone (22) - Device(设备)之摄像头(硬件快门, 自动对焦, 实时修改捕获视频)

    原文:与众不同 windows phone (22) - Device(设备)之摄像头(硬件快门, 自动对焦, 实时修改捕获视频) [索引页][源码下载] 与众不同 windows phone (22 ...

  6. Html中隐藏a标签

    <div><a href="#"><span style="visibility:hidden">我的</span&g ...

  7. php 写session

    function do_login(){ //获取用户名和密码信息,和数据库中比对 echo 111111111; dump($_POST); dump($_SESSION); echo 222222 ...

  8. php 如何在有限的内存中读取大文件

    突然遇到了一个要读取超过80M文件的需求,很悲剧的,不管是file_get_content还是file什么的,都会将读取的文件一次性加载到内存中. 正常情况下,我们可以使用fseek来读取,好处就是不 ...

  9. 更改EBSserver域名/IP

    more: 341322.1 : How to change the hostname of an Applications Tier using AutoConfig 338003.1 : How  ...

  10. NginX issues HTTP 499 error after 60 seconds despite config. (PHP and AWS)

    FROM: http://stackoverflow.com/questions/15613452/nginx-issues-http-499-error-after-60-seconds-despi ...