进行任何一款软件开发,都离不开坐标操作。而且现在坐标原点位置很多都不一样,所以我一般开发界面程序之前,先确认一下坐标系。
cocos2d-x是基于openGLES的,所以应该会遵循openGL的坐标系,也就是说是以屏幕的左下角为坐标原点,如下图:
屏幕坐标系一般是以左下角为坐标原点,如下图所示:
在开发cocos2d-x程序时一定要注意坐标轮换问题,个人觉得屏幕与openGL坐标转换会有相应的函数(还没有看详细的内容)。
在cocos2d-x中还有几个重要的概念:
1)锚点:作为位置的参考点,它表示在设置一个物体的位置时,应该参照的值,数据在(0.0 - 1.0)之间,默认为(0.5, 0.5)。‘
比如:正方形【100,100】,放在坐标为(200,200)的地方,下图说明设置锚点与不设置锚点的区别:
2)位置:在调用任何需要设置位置的函数或从函数获取位置信息前,必须要明确这个函数使用的是哪个坐标系。
3)世界坐标:一般可以理解为3D坐标,多了一个Z轴,如果是平面的话,可以理解为屏幕坐标。当要获得某一个节点的屏幕坐标时,需要调用相应函数将节点坐标转换为对应的屏幕坐标,返过来也是可以的(convertToNodeSpace, convertToWorldSpace)
以上理解如果有问题,请回复指正。