Как иметь меню при воспроизведении фильма-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");
Но меню не отображается. Может кто-нибудь, пожалуйста, скажите мне, как это сделать.
1 ответ
Решение
Вы должны подождать, пока окно загрузится, а затем сделать что-то вроде этого.
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
обратный вызов, и это прекрасно работает.