我有2個UIViewController在每個UIViewController中實現cocos2d場景。 如果用戶點擊「Page2」按鈕,它將變成第二個視圖控制器。 如果用戶點擊第二個視圖控制器中的「返回」按鈕,它將更改爲第一個視圖控制器。爲什麼我的UIView中的cocos2D場景沒有響應?
這是我的 「第2頁」 按鈕的代碼:
[[CCDirector sharedDirector] end];
p2 = [[Page2ViewController alloc] initWithNibName:@"Page2ViewController" bundle:nil];
[UIView beginAnimations:@"Page2" context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
[self.view addSubview:p2.view];
[UIView commitAnimations];
在此之後,第2頁與cocos2d的場景仍然有響應。如果我按下「返回」按鈕,我的cocos2d場景將不會響應,但不會出現錯誤,不會發出警告,也不會有任何消息。我試圖把NSLog放入viewDidLoad,viewWillAppear,viewDidAppear但是沒有通過我的代碼。這是我的「返回」按鈕代碼:
[[CCDirector sharedDirector] end];
[UIView beginAnimations:@"Back to Home" context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view.superview cache:YES];
[self.view removeFromSuperview];
[UIView commitAnimations];
任何想法.....
如果我不把結束對CCDirector它會返回錯誤,因爲「你不能運行一個場景,如果另一個場景是運行」。我爲每個UIViewController設置了cocos2d場景。任何其他的想法??謝謝 –
是的,你需要使用replaceScene而不是runWithScene。 RunWithScene只能用於加載第一個場景。 – LearnCocos2D