2010-09-06 7 views
0

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; }

Répondre

0

Cette ligne: sélecteur: @selector (moviePlayBackDidFinish :)

doit être: sélecteur: @selector (moviePlayBackDidFinish)

0

CCScene * scène = [AboutLayer scène];