2011-11-09 3 views
2

모든 UIViewController에서 cocos2d 장면을 구현하는 2 개의 UIViewController가 있습니다. 사용자가 "Page2"버튼을 누르면 두 번째 View Controller로 바뀝니다. 두 번째 View Controller에서 "Back"버튼을 누르면 첫 번째 View Controller로 변경됩니다.내 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 장면이 응답하지 않지만 오류, 경고 또는 메시지가 표시되지 않습니다. ViewDidLoad, viewWillAppear, viewDidAppear에 NSLog를 넣으려고했지만 내 코드가 전달되지 않습니다.이 코드는 내 "뒤로"버튼 코드입니다.

[[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에 end를 호출하지 마십시오

답변

0

전에 감사합니다. 대신, stopAnimationstartAnimation을 사용하여 Cocos2D를 일시적으로 일시 중지하십시오. 나는 이것이 당신의 문제에 도움이 될지 확신하지 못하지만, 그렇게 할 수도 있습니다.

+0

". 모든 UIViewController 설정 cocos2d 장면. 다른 아이디어? 감사합니다 –

+1

예, runWithScene 대신 replaceScene 사용해야합니다. RunWithScene은 맨 처음 장면을로드하는 데에만 사용할 수 있습니다. – LearnCocos2D

0

이 좋은이 될 수 있습니다 - 당신이 SecondScene로 이동

예는, 첫 번째 버튼을 클릭 : -

- (무효) buttonClicked_color (ID) 보낸 사람 {

[[CCDirector sharedDirector] pushScene:[CCTransitionFade transitionWithDuration:0.5 scene:[SecondScene node]]]; 

}

그리고 SecondScene에서 FirstScene으로 돌아가고 싶을 때 : -

- (무효) buttonClicked_alpha (ID) 보낸 사람 {

[[CCDirector sharedDirector] pushScene:[CCTransitionFade transitionWithDuration:0.5 scene:[FirstScene node]]]; 

} 다른 장면이 실행 중이면 나는 당신이 장면을 실행할 수 없습니다 "있기 때문에 오류를 반환합니다 CCDirector에 종지부를 해달라고하면

관련 문제