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

时间:2012-04-19 18:38:33

标签: objective-c ios cocos2d-iphone iad

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

我一直回到这个警告:

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

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

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

1 个答案:

答案 0 :(得分:6)

使用类型CCGLView,我猜您使用的是cocos2d-iphone 2.x,而1.x没有CCGLView但是EAGLView

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

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

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

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

因为viewUIViewController的属性。