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

Pau*_*aul 7 cocos2d-iphone ccsprite

我开始学习cocos2d的,我想知道为什么我们实际使用convertToGL从CCDirector,[[CCDirector sharedDirector] convertToGL: touchLoc];当我们已经拥有了[touch view][touch locationInView: [touch view]];

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

谢谢

Lea*_*s2D 12

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

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

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