'应用程序窗口应该在应用程序启动结束时具有根视图控制器。在Cocos 2d

时间:2016-01-21 06:43:38

标签: ios objective-c cocoa cocos2d-iphone

运行我的Cocos2d项目时遇到此错误。 我是Cocos2d的新手所以请帮助解决此错误。 这个我的代码在applicationDidFinishLaunching。

self.notifyCenter = [NSNotificationCenter defaultCenter];
[notifyCenter addObserver:self selector:@selector(trackNotifications:) name:nil object:nil];

// Init the window
//window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// cocos2d will inherit these values
[window setUserInteractionEnabled:YES]; 
[window setMultipleTouchEnabled:YES];

// Try to use CADisplayLink director
// if it fails (SDK < 3.1) use the default director
if( ! [CCDirector setDirectorType:CCDirectorTypeDisplayLink] )
    [CCDirector setDirectorType:CCDirectorTypeDefault];

// Use RGBA_8888 buffers
// Default is: RGB_565 buffers
[[CCDirector sharedDirector] setPixelFormat:kPixelFormatRGBA8888];

// Create a depth buffer of 16 bits
// Enable it if you are going to use 3D transitions or 3d objects
//  [[CCDirector sharedDirector] setDepthBufferFormat:kDepthBuffer16];

// Default texture format for PNG/BMP/TIFF/JPEG/GIF images
// It can be RGBA8888, RGBA4444, RGB5_A1, RGB565
// You can change anytime.

[Mobclix startWithApplicationId:@"4708dd74-19a6-46c3-a926-81d71012f7bd"];

[CCTexture2D setDefaultAlphaPixelFormat:kTexture2DPixelFormat_RGBA8888];

// before creating any layer, set the landscape mode
[[CCDirector sharedDirector] setDeviceOrientation:CCDeviceOrientationPortrait];
[[CCDirector sharedDirector] setAnimationInterval:1.0/60];
//[[CCDirector sharedDirector] setDisplayFPS:YES];

// create an openGL view inside a window
[[CCDirector sharedDirector] attachInView:window];  
[window makeKeyAndVisible];     

MainMenu *gs = [MainMenu node];
[[CCDirector sharedDirector] runWithScene:gs];

如果您知道并提前感谢您的帮助

1 个答案:

答案 0 :(得分:0)

具体谈论错误:

'Application windows are expected to have a root view controller at the end of application launch'

听起来您的应用需要RootViewController

RootViewController *viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];
[window setRootViewController:viewController];