2010-02-08 57 views
3

我用下面的代码播放电影如何有一个菜单,当影片播放时,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]; 

现在我想有一个像

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"); 
在播放movie.I代码菜单

但是菜单没有显示。 任何人都可以请告诉我如何做到这一点。

回答

6

你必须等到窗口被加载,然后做这样的事情。

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没什么特别的。只是我做的一个UIView子类。我从

- (void) moviePreloadDidFinish:(NSNotification*)notification 

回调,它很好。

相关问题