7

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

另外,我们首先“addChild”一个CCSprite,包含一个图像,然后我们设置它的body,ccsprite成为这个body的数据用户。改为“addChild”身体不是更好吗?还是出于任何特定目的?

谢谢

4

1 回答 1

12

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

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

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

于 2011-11-04T17:37:10.330 回答