1、OpenGL的坐标系
Cocos2d是基于OpenGL开发的,所以Cocos2d的坐标系和OpenGL的坐标系是一致的,都是按照图示方向。和我们平时最常见到的坐标系也是一致的。
2、屏幕坐标系
屏幕坐标系是界面编程中很常见的坐标系。它规定的则是屏幕的左上角为坐标原点,向右为X轴正方向,向下为Y轴正方向。这个相比OpenGL坐标系,X轴方向其实是一致的,不同就在与Y轴方向。
3、元素的位置
每个元素的坐标系都是相对于其父节点的,也就是说如果父节点移动那么该父节点下的元素坐标也是相对移动的。就像是一个人坐在船上,船是父节点,人是子节点,船的移动自然会导致人的移动。
4、元素的锚点
锚点是个非常重要的概念,可以理解成物理里面的物体的等效质心。也就是说元素的摆放位置,移动,旋转等都是基于锚点的。在一些界面编程中也会有锚点的概念,比如C# winform编程中,控件的摆放也是由一个锚点控制的。
Cocos2d中元素的锚点设置可以通过函数:
setAnchorPoint(ccp(0, 0))
来进行设置。
cpp()中两个参数的取值均是[0, 1]。其表示的意义,可以用图表示如下:
也就是说设置cpp(0, 0)表示锚点为该元素的左下角位置。缺省情况下元素的锚点位于cpp(0.5, 0.5)位置,也就是元素的正中心位置。(和图像一样,不管元素是否是规则的矩形,其边界包络框一定是一个矩形,那么锚点的位置就是在这个矩形框的正中心的位置)。
时间: 2024-10-13 00:09:18