2010-02-08 4 views
3

Je joue un film en utilisant le code suivantComment avoir un menu lorsqu'un film joue-iphone cocos2d

NSString *path = [[NSBundle mainBundle] pathForResource:@"cobra" ofType:@"mp4"]; 

theMovie=[[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:path]]; 
theMovie.scalingMode=MPMovieScalingModeAspectFill; 
// Add an observer to catch when playback ends 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(transition:) 
              name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie]; 
// Start playback 
theMovie.movieControlMode = MPMovieControlModeDefault; 
[theMovie play]; 

maintenant je veux avoir un menu sur le code movie.I de jeu comme

MenuItemImage *item1 = [MenuItemImage itemFromNormalImage:@"Button_cobra.png" selectedImage:@"Button_cobra1.png" target:self selector:@selector (transition:)]; 
Menu *menu = [Menu menuWithItems:item1, nil]; 
menu.position = CGPointZero; 
item1.position = ccp(330,260); 
item1.scale = 0.5; 
[self addChild:menu z:51]; 
NSLog(@"Leaving Layer2"); 

Mais le menu ne s'affiche pas. Quelqu'un peut-il s'il vous plaît dites-moi comment le faire.

Répondre

6

Vous devez attendre que la fenêtre soit chargée, puis faire quelque chose comme ça.

NSArray *windows = [[UIApplication sharedApplication] windows]; 
if ([windows count] > 1) 
{ 
    // Locate the movie player window 
    UIWindow *moviePlayerWindow = [[UIApplication sharedApplication] keyWindow]; 
    // Add our overlay view to the movie player's subviews so it is 
    // displayed above it. 
    PlayerOverlayView *overlay = [[PlayerOverlayView alloc]initForPlayerWithButtonDelegate:self]; 
    [moviePlayerWindow addSubview:overlay]; 
    [overlay release]; 
} 

PlayerOverlayView n'a rien de spécial. Juste une sous-classe UIView faite. Je l'appelle depuis le

- (void) moviePreloadDidFinish:(NSNotification*)notification 

rappel et cela fonctionne très bien.

Questions connexes