Ios 游戏开始前的电影介绍

Ios 游戏开始前的电影介绍,ios,cocos2d-iphone,mpmovieplayercontroller,Ios,Cocos2d Iphone,Mpmovieplayercontroller,我正在尝试在游戏开始前使用MPMoviePlayerController来播放m4v文件。这个游戏是基于cocos2d的 我用所需文件制作了一个MPMoviePlayerController,并将其作为子类添加到CCDirector(它是UIViewController的子类)。我之所以作为孩子添加MPMoviePlayerController,是因为我想让游戏一直在后台加载 我的问题是,我无法找到在视频结束后删除MPMoviePlayerController的方法 请提出建议 提前感谢。对于c

我正在尝试在游戏开始前使用MPMoviePlayerController来播放m4v文件。这个游戏是基于cocos2d的

我用所需文件制作了一个
MPMoviePlayerController
,并将其作为子类添加到
CCDirector
(它是
UIViewController
的子类)。我之所以作为孩子添加
MPMoviePlayerController
,是因为我想让游戏一直在后台加载

我的问题是,我无法找到在视频结束后删除
MPMoviePlayerController
的方法

请提出建议


提前感谢。

对于cocos2D游戏,CCVideoPlayer类是最好的、易于播放的视频

您应该能够侦听MPMoviePlayerPlaybackDidFinishNotification通知,然后删除子视图。此代码在我的测试中起作用:

MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
self.player = moviePlayer;

moviePlayer.controlStyle = MPMovieControlStyleNone;
moviePlayer.shouldAutoplay = YES;
[moviePlayer prepareToPlay];

moviePlayer.view.frame = self.view.bounds;
moviePlayer.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.view addSubview:moviePlayer.view];

[moviePlayer play];

// wait for the video to finish...
MyViewController __weak *weakSelf = self;
[[NSNotificationCenter defaultCenter] addObserverForName:MPMoviePlayerPlaybackDidFinishNotification object:self.player queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
  [[NSNotificationCenter defaultCenter] removeObserver:weakSelf name:MPMoviePlayerPlaybackDidFinishNotification object:weakSelf.player];

  // remove the view
  [weakSelf.player.view removeFromSuperview];
}];

如果这不起作用,您可能需要为我们发布您的播放器创建和设置代码,以帮助您了解发生了什么。

对此不太熟悉,但我的第一反应是,您可以弹出包含电影播放器的视图,并在其后面设置菜单系统,或者在介绍之后您想去的任何地方吗?弹出?但我不是在推动导航控制器。我将添加为CCDirector的子类(它是viewcontroller上的一个子类),为了将其删除,我正在尝试从ParentView中删除…但不起作用…我知道这可能是最后一个解决方案:)谢谢您的建议@raj