2010-09-06 88 views
0

我尝试在前奏完成时显示介绍和替换场景。但是,当电影完成时,应用程序崩溃[[CCDirector sharedDirector] replaceScene:[CCFadeTransition transitionWithDuration:0.5f scene:[MenuScene scene]]] ;.cocos2d和MPMoviePlayerController崩溃

代码是;

- (void) moviePlayBackDidFinish { 

[self.movi​​ePlayer stop]; [CCDirector sharedDirector] replaceScene:[CCFadeTransition transitionWithDuration:0.5f scene:[MenuScene scene]]];;} [ }

- (ID)初始 {

//随时拨打 “超级” 初始化 //苹果建议重新分配的 “自我” 与 “超级” 的返回值 IF((自我= [超级INIT])){// pencere boyutu埃尔德河ediliyor

NSURL * URL = [NSURL fileURLWithPath:[[一个NSBundle mainBundle] pathForResource:@ “前奏” ofType:@ “MP4”]]; self.movi​​ePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];

//注册以在电影完成播放时收到通知。
[[NSNotificationCenter defaultCenter]的addObserver:自
选择器:@selector(moviePlayBackDidFinish :)
名:MPMoviePlayerPlaybackDidFinishNotification
对象:self.movi​​ePlayer];

如果([self.movi​​ePlayer respondsToSelector:@selector(setFullscreen:动画:)]){
//使用新3.2风格的API
self.movi​​ePlayer.controlStyle = MPMovieControlStyleNone;
self.movi​​ePlayer.shouldAutoplay = YES;
//这会在cocos2d中爆炸,所以我们将手动调整大小
// [moviePlayer setFullscreen:YES animated:YES];
[self.movi​​ePlayer.view setTransform:CGAffineTransformMakeRotation((float)M_PI_2)];
CGSize winSize = [[CCDirector sharedDirector] winSize];
self.movi​​ePlayer.view.frame = CGRectMake(0,0,winSize.height,winSize.width); //宽度和高度在旋转后交换
[[[CCDirector sharedDirector] openGLView] addSubview:self.movi​​ePlayer。视图];
} else {
//使用旧的2.0风格API
self.movi​​ePlayer.movi​​eControlMode = MPMovieControlModeHidden;
[self。电影播放];
}

}

回归自我; }

回答

0

这条线: 选择器:@selector(moviePlayBackDidFinish :)

应该是: 选择器:@selector(moviePlayBackDidFinish)

0

CCScene *场景= [AboutLayer场景];

CCTransitionFade* transitionScene = [CCTransitionFade transitionWithDuration:0.1 scene:scene withColor:ccWHITE]; 
[[CCDirector sharedDirector] pushScene:transitionScene];