1、CCTouch* touch->getLocation() ---- 返回当前触摸点在openGL坐标系中的位置

  openGL坐标系,原点在左下角,x向右为正,y向上为正。

2、CCTouch* touch->getLocationInView() ---- 返回当前触摸点在屏幕坐标系中的位置

  视图坐标系,原点在左上角,x向右为正,y向下为正。

  经测试以上两个结果值,x一样,y值不一样。

3、CCDirector->sharedDirector()->convertToGL(CCPoint* point)------把poit从一个UIKit 框架坐标系转换到OpenGL坐标系。把(多点)触摸坐标转换到当前布局(layout)(垂直或水平)时非常有用。

  1的结果= 2 + 3

4、CCDirector->sharedDirector()->convertToUI(CC:point* point)----把point从OpenGL坐标系转换为UIKit 框架坐标系。 非常适合节点坐标(Node Points)转换为窗口坐标(Window Points)时调用。比如glScissor.

  2 = 1 + 4

5、CCLayer* layer->convertToNodeSpace(CCPoint* worldpoint)---把worldpoint 转换为节点(本地)坐标系坐标(node space coordinates)。

  结果跟worldpoint一样,如果worldpoint 是GL坐标,结果就跟GL坐标一样,若是视图坐标,结果跟View坐标一样。

6、CCLayer* layer->convertToWorldSpace(CCPoint* nodepoint)---把nodepoint转换为世界坐标系坐标(world space coordinates)。

  结果跟nodepoint一样,如果nodepoint 是GL坐标,结果就跟GL坐标一样,若是视图坐标,结果跟View坐标一样。

7、CCLayer* layer->convertToNodeSpaceAR(CCPoint* worldPoint) --- 把worldPoint转换为节点坐标系坐标,返回的节点坐标是锚点坐标(treating the returned/received node point as anchor relative.)。

  AR的结果跟别的都不同,具体意义还不清楚。

8、CCLayer* layer->convertToWorldSpaceAR(CCPoint* nodePoint)--- 把nodepoint转换为世界坐标系坐标(world space coordinates)。返回的坐标是锚点坐标(treating the returned/received node point as anchor relative.)。

  AR的结果跟别的都不同,具体意义还不清楚。worldAR 跟 nodeAR也不同。

9、CCLayer* layer->convertTouchToNodeSpace(CCTouch* touch)---- 用touch替代point的便捷方法。

  结果跟1,3,5的结果一样

10、CCLayer* layer->convertTouchToNodeSpaceAR(CCTouch* touch)---- 用touch替代point的便捷方法。

  结果跟7一样

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坐标系 平面直角坐标系

随机推荐

  1. iOS中创建自定义的圆角按钮

    iOS中很多时候都需要用到指定风格的圆角按钮,尽管UIButton提供了一个方式创建圆角按钮: + (id)buttonWithType:(UIButtonType)buttonType;//指定bu ...

  2. google 集群计算的3大基础设施

    1.  GFS  分布式文件系统 2.  map-reduce 分布式计算框架 3. bigtable 海量key-value的存储 (开源实现:Hypertable)

  3. android 自己定义控件

    Android自己定义View实现非常easy 继承View,重写构造函数.onDraw.(onMeasure)等函数. 假设自己定义的View须要有自己定义的属性.须要在values下建立attrs ...

  4. 在运行hadoop是出现Master的9000端口拒绝访问的情况

    出现9000端口拒绝访问的情况有可能是防火墙没有开放9000端口,可以选择关闭防火墙或者卸载防火墙,如果还是无法解决这种情况可能是因为hadoop的启动顺序不对. 应该按照如下得顺序启动 Step2: ...

  5. 我所见过的最简短、最灵活的javascript日期转字符串工具函数

    我们知道javascript的Date对象并没有提供日期格式化函数.将日期对象转换成"2015-7-02 20:35:11"等这样的格式又是项目中非经常常使用的需求.近期在我们项目 ...

  6. [LeetCode] 038. Count and Say (Easy) (C++/Python)

    索引:[LeetCode] Leetcode 题解索引 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode 038. Cou ...

  7. 第一讲:使用html5——canvas绘制奥运五环

    <html> <head> <title>初识canvas</title> </head> <body> <canvas ...

  8. java上下文Context类

    Context在Java中的出现是如此频繁,但其中文翻译"上下文"又是如此诡异拗口,因此导致很多人不是很了解Context的具体含义是指什么,所以很有必要来深究一下这词的含义. 先 ...

  9. php composer 相关及版本约束等小技巧

    对于现代语言而言,包管理器基本上是标配.Java有Maven,Python有pip,Ruby有gem,Nodejs有npm.PHP的则是PEAR,不过PEAR坑不少: 依赖处理容易出问题 配置非常复杂 ...

  10. maven统一配置

    <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> &l ...