iAds:为什么CCGLView*eaglView = [[CCDirector sharedDirector] openGLView]不起作用?

Jim*_*ota 2 objective-c cocos2d-iphone ios iad

我一直在运行一个很好的Cocos2d教程来实现iAds并接近实现它(我从控制台获得iAd消息)......

我一直回到这个警告:

CCGLView *eaglView = [[CCDirector sharedDirector] openGLView];
Run Code Online (Sandbox Code Playgroud)

"找不到实例方法'-openGLView'......"

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

Hai*_*lei 6

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

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

EAGLView *eaglView = [[CCDirector sharedDirector] openGLView];
Run Code Online (Sandbox Code Playgroud)

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

CCGLView *ccglView = (CCGLView *)[[CCDirector sharedDirector] view];
Run Code Online (Sandbox Code Playgroud)

因为view是的财产UIViewController.