J'essaie de montrer une intro et replaceScene quand l'intro est terminée. Mais, lorsque le film se termine, l'application plante sur [[CCDirector sharedDirector] replaceScene: [CCFadeTransition transitionWithDuration: Scène 0.5f: [Scène MenuScene]]].crash de cocos2d et MPMoviePlayerController
le code est;
- (void) moviePlayBackDidFinish {
[auto.moviePlayer stop];
[[CCDirector sharedDirector] replaceScene: [CCFadeTransition transitionWithDuration: Scène 0.5f: [Scène MenuScene]]]; }
- (id) init {
// appellent toujours "super" Init // Apple recommande de réassigner "auto" avec la valeur de retour "super" if ((auto = [super init])) {// Pencere boyutu Elde ediliyor
NSURL * url = [NSURL fileURLWithPath: [[NSBundle mainBundle] pathForResource: @ "intro" ofType: @ "mp4"]]; self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL: url];
// Enregistrez-vous pour recevoir une notification lorsque la lecture du film est terminée.
[[NSNotificationCenter defaultCenter] addObserver: self
sélecteur: @selector (moviePlayBackDidFinish :)
nom: MPMoviePlayerPlaybackDidFinishNotification
objet: self.moviePlayer];
si ([self.moviePlayer respondsToSelector: @selector (setFullscreen: animé :)]) {//
Utilisez la nouvelle API 3.2 de style
self.moviePlayer.controlStyle = MPMovieControlStyleNone;
self.moviePlayer.shouldAutoplay = YES;
// Cela fait exploser dans cocos2d, donc nous allons le redimensionner manuellement
// [moviePlayer setFullscreen: YES animé: YES];
[self.moviePlayer.view setTransform: CGAffineTransformMakeRotation ((float) M_PI_2)];
CGSize winSize = [[CCDirector sharedDirector] winSize];
self.moviePlayer.view.frame = CGRectMake (0, 0, winSize.height, winSize.width); // largeur et hauteur sont permutées après la rotation
[[[CCDirector sharedDirector] openGLView] addSubview: self.moviePlayer. vue];
} else {
// Utiliser l'ancienne API de style 2.0
self.moviePlayer.movieControlMode = MPMovieControlModeHidden;
[auto.moviePlayer play];
}
}
retour auto; }