cocos2d:为什么convertToGL,为什么addChild CCSprite在它的身体之前呢?

时间:2011-11-04 15:43:07

标签: cocos2d-iphone ccsprite

我开始学习cocos2d,我想知道为什么我们实际使用来自CCDirector的convertToGL,[[CCDirector sharedDirector] convertToGL: touchLoc];当我们已经拥有来自[touch view]的{​​{1}} ?

另外,我们首先“addChild”一个包含图像的CCSprite,然后我们设置它的主体,ccsprite成为这个主体的数据用户。不会更好地“添加孩子”身体吗?或者它是出于任何特定目的?

谢谢

1 个答案:

答案 0 :(得分:12)

这是因为OpenGL视图(EAGLView类)使用的坐标系与Cocoa Touch不同。

例如,Cocoa Touch的0,0位置位于左上角,而OpenGL的0,0位置位于左下角。这就是为什么你需要“转换为GL”所有UIView坐标。

转换还会考虑当前的设备方向。