我想在cocos2d的項目中顯示一個UIViewController,所以我在我的CCLayer類做到這一點:添加的UIViewController在cocos2d
-(void)displayMainMenu {
CGSize screenSize = [CCDirector sharedDirector].winSize;
[CCMenuItemFont setFontName:@"Marker Felt"];
[CCMenuItemFont setFontSize:26];
CCMenuItemFont *openViewC = [CCMenuItemFont itemWithString:@"Open View" target:self selector:@selector(loadMyViewController)];
mainMenu = [CCMenu menuWithItems:openViewC, nil];
[self addChild:mainMenu z:0];
}
-(void) loadMyViewController{
//Add the tableview when the transition is done
myView = [[MyViewController alloc] init];
UIView *viewHost = hostView.view;
[[[CCDirector sharedDirector] view] addSubview:viewHost];
}
,然後在我的ViewController回到我CCLayer我這樣做:
- (IBAction)exitAction:(id)sender
{
[self.view removeFromSuperview];
[[CCDirector sharedDirector] pushScene: [MainMenu scene]]; //i need it or not?
}
和所有的工作,我使用cocos2d v2.0,但我想知道是否有更好的方式添加一個UIViewController在cocos2d場景,謝謝!
爲避免泄漏,將MyViewController als childViewController添加到Director,並在添加後釋放myView。在刪除時,從超級視圖中刪除myView及其視圖。 myView覆蓋呈現CCNode的eaglview。所以你不需要推送和流行CCLayers。 – zeiteisen 2012-07-18 18:22:21
你能解答一下嗎?謝謝,我在等待它! – Piero 2012-07-18 22:00:48