CoreAnimation Game – Добавление видеопотока в качестве фона?
-
06-07-2019 - |
Вопрос
Приветствую вас, друзья!
Я пытаюсь наложить простую 2D-игру, которую я разрабатываю, поверх фильма в формате QuickTime (.mov).У меня нет опыта работы с этим (или большого опыта программирования игр), поэтому мне интересно, сталкивался ли кто-нибудь с этой проблемой раньше, и если да, то как вы подходили к ее решению?
Я изучал QuickTime API (QTKit), и он выглядит многообещающе, но если есть лучший способ - тот, который можно было бы расширить для поддержки потоков видео в реальном времени, это было бы УДИВИТЕЛЬНО.
В игре используются слои CoreAnimation для игровых объектов, и в настоящее время в качестве фона окна используется изображение.По сути, мне нужно превратить это изображение в фильм.Всем спасибо, буду благодарен за помощь и предложения.
// < Mr. Buffalo >
Решение 2
Я понял это в какой-то момент вчера.На самом деле довольно прямолинейно.Однако я еще не рассматривал потоковое видео..
Контроллер приложений:
- (void) setupQTMovieLayer
{
// Get the movie and make it loop (my test canned video is short so I loop it)
QTMovie * movie = [QTMovie movieNamed:@"Sample.mov" error:nil];
[movie setAttribute: [NSNumber numberWithBool:YES] forKey:QTMovieLoopsAttribute];
// Create the movie on the (CALayer) backgroundLayer, make it sexy, and add it to our view atIndex:0
// note: backgroundLayer is a property of this class
backgroundLayer = [QTMovieLayer layerWithMovie:movie];
backgroundLayer.masksToBounds = YES;
[[contentView layer] insertSublayer:backgroundLayer atIndex:0];
// Goto the beginning and play the movie
[movie gotoBeginning];
[movie play];
}
Другие советы
Я не делал ничего подобного раньше, но загляните в QTMovieLayer а>. р>
& # 8230; & nbsp; если есть лучший способ, который можно расширить для поддержки потокового видео в реальном времени, это было бы ИЗУМИТЕЛЬНО. QuickTime уже поддерживает прямые трансляции. (Раньше ключевые слова Apple передавались в потоковом режиме до того, как они переключились на подкастинг через iTunes Store.)