GlView导致OpenGL错误

我是cocos2d的新手。我正在使用cocos2d(3.0 Beta)平台进行uiview游戏。我在自定义viewcontroller中设置了GLView。 以下是我的代码。

- (void)setupCocos2D { CCGLView *glView = [CCGLView viewWithFrame:self.view.bounds pixelFormat:kEAGLColorFormatRGB565 depthFormat:0];** glView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; [self.view insertSubview:glView atIndex:0]; [[CCDirector sharedDirector] setView:glView];** } 

它工作正常。但是当我们穿上物体然后给我跟随记忆力。

 OpenGL error 0x0506 in -[CCSprite draw] 544 OpenGL error 0x0502 in -[CCGLView swapBuffers] 287** 

([[CCDirector sharedDirector] setView:glView])我们调用([[CCDirector sharedDirector] setView:glView]) setView方法时,它找不到CCDirector方法而是UIView方法。我无法访问CCDirector方法.Same方法我也无法在AppDelegate类中调用。

 - (void)applicationWillTerminate:(UIApplication *)application { CCDirector *director = [CCDirector sharedDirector]; //openGLView is now (setView in Latest version).It's Can't Access here.** [[director openGLView] removeFromSuperview]; [director end]; } 

您在setupCocos2D中使用以下代码

  - (void)setupCocos2D { [[CCDirector sharedDirector] end]; UIWindow *window_ = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; [window_ setBackgroundColor:[UIColor whiteColor]]; CCGLView *glView = [CCGLView viewWithFrame:[window_ bounds] pixelFormat:kEAGLColorFormatRGB565 depthFormat:0 preserveBackbuffer:NO sharegroup:nil multiSampling:NO numberOfSamples:0]; director_ = (CCDirectorIOS*) [CCDirector sharedDirector]; director_.wantsFullScreenLayout = YES; // Display FSP and SPF [director_ setDisplayStats:NO]; // set FPS at 60 [director_ setAnimationInterval:1.0/60]; // attach the openglView to the director [director_ setView:glView]; // 2D projection [director_ setProjection:kCCDirectorProjection2D]; // [director setProjection:kCCDirectorProjection3D]; // Enables High Res mode (Retina Display) on iPhone 4 and maintains low res on all other devices if( ! [director_ enableRetinaDisplay:YES] ) CCLOG(@"Retina Display Not supported"); // Default texture format for PNG/BMP/TIFF/JPEG/GIF images // It can be RGBA8888, RGBA4444, RGB5_A1, RGB565 // You can change this setting at any time. [CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_RGBA8888]; CCFileUtils *sharedFileUtils = [CCFileUtils sharedFileUtils]; [sharedFileUtils setEnableFallbackSuffixes:NO]; // Default: NO. No fallback suffixes are going to be used [sharedFileUtils setiPhoneRetinaDisplaySuffix:@"-hd"]; // Default on iPhone RetinaDisplay is "-hd" [sharedFileUtils setiPadSuffix:@"-ipad"]; // Default on iPad is "ipad" [sharedFileUtils setiPadRetinaDisplaySuffix:@"-ipadhd"]; // Default on iPad RetinaDisplay is "-ipadhd" // Assume that PVR images have premultiplied alpha [CCTexture2D PVRImagesHavePremultipliedAlpha:YES]; }