cocos2d和MPMoviePlayerController崩溃

时间:2010-09-06 20:50:29

标签: cocos2d-iphone

我在介绍完成后尝试显示一个介绍和replaceScene。但是,当电影结束时,应用程序正在崩溃[[CCDirector sharedDirector] replaceScene:[CCFadeTransition transitionWithDuration:0.5f场景:[MenuScene scene]]] ;.

代码是;

- (void) moviePlayBackDidFinish {

[self.movi​​ePlayer stop];

[[CCDirector sharedDirector] replaceScene:[CCFadeTransition transitionWithDuration:0.5f scene:[MenuScene scene]]]; }

- (id)init {

//总是调用“super”init  // Apple建议使用“超级”返回值重新分配“self”  if((self = [super init])){   // pencere boyutu elde ediliyor

NSURL * url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@“intro”ofType:@“mp4”]];   self.movi​​ePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];

//注册以在电影播放完毕后收到通知   [[NSNotificationCenter defaultCenter] addObserver:self
             选择:@选择(moviePlayBackDidFinish :)
              名称:MPMoviePlayerPlaybackDidFinishNotification
               对象:self.movi​​ePlayer];

if([self.movi​​ePlayer respondsToSelector:@selector(setFullscreen:animated :)]){
   //使用新的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.view];
  其他{
   //使用旧的2.0风格的API    self.movi​​ePlayer.movi​​eControlMode = MPMovieControlModeHidden;
   [self.movi​​ePlayer play];
  }

}

回归自我; }

2 个答案:

答案 0 :(得分:0)

这一行: 选择器:@selector(moviePlayBackDidFinish:)

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

答案 1 :(得分:0)

CCScene * scene = [AboutLayer scene];

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