2

我一直在通过一个很好的 Cocos2d 教程来实现 iAd,并且即将实现它(我从控制台收到 iAd 消息)......

我不断回到这个警告:

CCGLView *eaglView = [[CCDirector sharedDirector] openGLView];

“找不到实例方法'-openGLView'...”

我认为这与从调用 GLView 到 CCGLView (cocos2d) 的切换有关...

4

1 回答 1

7

通过使用 type CCGLView,我猜你使用的是 cocos2d-iphone 2.x,而 1.x 没有CCGLView但有EAGLView.

在 1.x 中我们通常访问属性openGLView来获取 OpenGL 视图对象:

EAGLView *eaglView = [[CCDirector sharedDirector] openGLView];

在 2.x 中,CCDirector类没有这样的属性。相反,CCDirector现在是UIViewControlleriOS(和NSObjectMac OS X)上的子类。因此,如果您想在 iOS 上获取 OpenGL 视图对象,只需执行以下操作:

CCGLView *ccglView = (CCGLView *)[[CCDirector sharedDirector] view];

因为view是 的属性UIViewController

于 2012-04-20T05:11:44.777 回答