我想在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