Использовать QTMovieView в Cocos2D Mac? - PullRequest
0 голосов
/ 15 марта 2011

Возможно ли это? Я думаю, что это так, но я не могу понять это.

Итак, код для фильма на данный момент:

shrigString = [[NSBundle mainBundle] pathForResource: @ "shrig_h264_720p" ofType: @ "mov"]; shrigURL = [NSURL fileURLWithPath: shrigString]; // shrigMovie = [QTMovie movieWithFile: @ "shrig_h264_720p.mov" error: nil]; shrigMovie = [QTMovie movieWithURL: ошибка shrigURL: ноль]; shrigMovieView = [QTMovieLayer layerWithMovie: shrigMovie];

    [[[[CCDirectorMac sharedDirector] openGLView] window] addChildWindow:shrigWindow ordered:NSWindowAbove];
    [shrigWindow setContentView:shrigNSView];
    [shrigNSView setLayer:shrigMovieView];
    shrigMovieView.frame = CGRectMake(size.width /2, size.height /2, 1024, 576);
    [shrigMovie autoplay];
    [shrigMovie play];

    NSLog(@"shrigMovie: %@", shrigMovie);
    NSLog(@"shrigMovie is: %@", QTStringFromTime([shrigMovie currentTime]));

Однако я не могу понять, как добавить это в мою сцену. Это Cocos2D для Mac, кстати.

В консоли:

shrigMovie: 0: 00: 00: 00.00 / 2500 Итак, я думаю, что он загружается нормально, но просто не отображается?

Любые идеи будут высоко оценены.

Спасибо.

1 Ответ

0 голосов
/ 09 мая 2011

Я столкнулся с той же проблемой и потратил много времени, пытаясь выяснить, как ее решить, используя QTMovie в сочетании с cocos2D. В конце концов я сдался и начал искать, было ли хорошее существующее решение для этого. И вуаля, я нашел VideoPlayer . Очень простой в использовании и очень легкий, вы можете найти его на https://github.com/psineur/CCVideoPlayer. Просто скопируйте только необходимую папку VideoPlayer из zip-файла и не забудьте CustomVideoView.nib в папке «Ресурсы». Добавьте их в какую-нибудь lib-папку в вашем проекте, затем вы можете начать воспроизведение видео-файлов, используя эти две строки:

[VideoPlayer setDelegate:self];
[VideoPlayer playMovieWithFile:@"intro.mov"];

Затем вы можете добавить следующие методы-делегаты в ваш класс

- (void) moviePlaybackFinished
{
}

- (void) movieStartsPlaying
{
}

Работает менее чем за 10 минут:)

Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...