原文地址:http://blog.csdn.net/jiarusun000/article/details/6860971
cocos2d支持以下几种坐标系:
1.屏幕坐标系 原点在左上角,X轴向右,Y轴向下。
2.GL坐标系 原点在左下角,X轴向右,Y轴向上。
3.世界坐标系 指相对于整个屏幕的坐标系,(0,0)就是屏幕的左下角,(320,480)就是屏幕的右上角。
4.本地坐标系 相对于父对象的坐标。
[obj.parent convertToWorldSpace:[obj position]]; //获得obj的世界坐标
[obj.parent convertToNodeSpace:[obj position]]; //获得obj的本地坐标
[[CCDirector sharedDirector] convertToGL:ccp(0,0)]; //获得GL坐标
[[CCDirector sharedDirector] convertToUI:ccp(0,0)]; //获得屏幕坐标
锚点(anchor):
锚点是对象的坐标参考点,比方说 如果你要把一个门牌钉在门上,那么那颗钉子就是门牌的锚点,之后设置position时将会相对于锚点来设置。
obj.anchor = ccp(0,0) //obj的锚点是左下角
obj.position = ccp(0,0) //此时 obj会以它的左下角会参考点贴在父对象的左下角
这里要注意的是 CCLayer默认是禁用锚点的,即使你设置了它的锚点也根没设置一样!你需要使用以下代码开启它对锚点的支持:
[obj setIsRelativeAnchorPoint:YES]; //启用 obj 的锚点