Воспроизведение последовательности изображений в UIView - PullRequest
1 голос
/ 17 февраля 2012

У меня есть циклическая анимация, состоящая из 120 кадров, разрешение 512x512, сохраненных в виде 32-битных файлов PNG.Я хочу воспроизвести эту последовательность в UIView внутри моего приложения.Может кто-нибудь дать мне несколько советов относительно того, как я мог бы сделать это, надеюсь, я смогу сделать это, используя стандартный API (который я бы предпочел)Я мог бы использовать Cocos2D при необходимости или даже OpenGL (но я совершенно новичок в OpenGL на данный момент).

Ответы [ 2 ]

6 голосов
/ 17 февраля 2012

Вы можете попробовать это:

// Init an UIImageView
UIImageView *imageView = [[UIImageView alloc] initWithFrame:/*Some frame*/];

// Init an array with UIImage objects
NSArray *array = [NSArray arrayWithObjects: [UIImage imageNamed:@"image1.png"], [UIImage imageNamed:@"image2.png"], .. ,nil];

// Set the UIImage's animationImages property
imageView.animationImages = array;

// Set the time interval
imageView.animationDuration = /* Number of images x 1/30 gets you 30FPS */;

// Set repeat count 
imageView.animationRepeatCount = 0; /* 0 means infinite */

// Start animating
[imageView startAnimating];

// Add as subview
[self.view addSubview:imageView];

Это самый простой подход, но я ничего не могу сказать о производительности, так как я не пробовал.Я думаю, что все должно быть хорошо с изображениями, которые у вас есть.

1 голос
/ 17 февраля 2012

Несжатый, это около 90 МБ изображений, и это может быть столько, сколько вы смотрите, если они распакованы в формате UIImage.Из-за длительности анимации и размера изображений я настоятельно рекомендую хранить их в сжатом формате фильма.Взгляните на ссылку для MediaPlayer framework;Вы можете удалить элементы управления воспроизведением, встроить MPMoviePlayerController в свою собственную иерархию представлений и настроить воспроизведение на цикл.Обратите внимание, что 640x480 - это верхний поддерживаемый предел для H.264, поэтому вам может понадобиться уменьшить масштаб видео в любом случае.

Обратите внимание на проблемы с зацикливанием видео, как уже упоминалось в вопросе Плавное зацикливание видеов iOS .

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