https://blog.csdn.net/yangkun0824/article/details/9117667
使用cocos2d来写程序时,经常会遇到世界坐标系,本地坐标系等概念。与之对应的是convertToGL, convertToWorldSpace, convertToNodeSpace等函数。这边简单的做一点摘记。
GL坐标系
cocos2d使用的opengl坐标系,即左下角为坐标原点(0,0)。x轴正方向向右,y轴正方向向上。

屏幕坐标系
苹果使用的坐标系的左上角为坐标原点(0,0)。x轴正方向向右,y轴正方向向下。在cocos2d中touch事件传入的位置信息即使用的是这个坐标系。所以在对传入的坐标位置进行运算之前需要先把该位置点转换为GL坐标,可以使用CCDirector的convertToGL函数来实现。

世界坐标系
世界坐标系也叫做绝对坐标系。CCNode有相应的父子层次关系,我们使用CCNode的position得到的位置信息是其相对于父节点的相对坐标,而不是绝对坐标。最后cocos2d在进行绘制的时候会把所有的相对坐标映射成世界坐标。世界坐标和GL坐标一致,我们可以使用CCNode的convertToWordSpace来实现世界坐标的转换。
本地坐标系
本地坐标系也叫做物理坐标系,每个物体都有自己的坐标系,当物体的运动位置或方向改变时,相应的坐标系也会发生改变。假设Node1的坐标为(40,40),Node2的坐标为(10,10)。两个Node的锚点都为(0,0)。如果调用[Node2 convertToNodeSpace:Node1.position]得到的位置应该是(30,30)。

转载一个链接: http://blog.163.com/zjf_to/blog/static/201429061201292193855498/
————————————————
版权声明:本文为CSDN博主「和山土申」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yangkun0824/article/details/9117667