iPad короткая анимация с использованием последовательности изображений - PullRequest
0 голосов
/ 26 июля 2011

У меня есть несколько постов по этому вопросу, но я не видел ничего убедительного до сих пор.Предположим, я просто хочу 3 маленьких анимации с прозрачностью, где у вас есть следующие изображения:

Анимация 1-15 изображений PNG, Размер 322 * 366.

Анимация 2 - 3 PNG изображения, Размер 930 * 480.

Анимация 3 - 2 PNG изображения, Размер 83 * 364.

Я сделал это3 анимации с использованием UIImageviews animationImages и имеет небольшую задержку.Я просто хочу сделать анимацию на пару секунд.

  1. Есть ли лучший способ сделать это, кроме воспроизведения видео ?.

  2. Кто-нибудь знает, как последовательность изображений на iPad, относительно производительности и т. Д.?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 26 июля 2011

Используйте свойство animationImages UIImageView.

 // create the view that will execute our animation
 UIImageView* campFireView = [[UIImageView alloc] initWithFrame:self.view.frame];
 // load all the frames of our animation
 campFireView.animationImages = [NSArray arrayWithObjects:    
                             [UIImage imageNamed:@"campFire01.gif"],
                             [UIImage imageNamed:@"campFire02.gif"],
                             [UIImage imageNamed:@"campFire03.gif"],
                             [UIImage imageNamed:@"campFire04.gif"],
                             [UIImage imageNamed:@"campFire05.gif"],
                             [UIImage imageNamed:@"campFire06.gif"],
                             [UIImage imageNamed:@"campFire07.gif"],
                             [UIImage imageNamed:@"campFire08.gif"],
                             [UIImage imageNamed:@"campFire09.gif"],
                             [UIImage imageNamed:@"campFire10.gif"],
                             [UIImage imageNamed:@"campFire11.gif"],
                             [UIImage imageNamed:@"campFire12.gif"],
                             [UIImage imageNamed:@"campFire13.gif"],
                             [UIImage imageNamed:@"campFire14.gif"],
                             [UIImage imageNamed:@"campFire15.gif"],
                             [UIImage imageNamed:@"campFire16.gif"],
                             [UIImage imageNamed:@"campFire17.gif"], nil];

 // all frames will execute in 1.75 seconds
 campFireView.animationDuration = 1.75;
 // repeat the annimation forever
 campFireView.animationRepeatCount = 0;
 // start animating
 [campFireView startAnimating];
 // add the animation view to the main window 
 [self.view addSubview:campFireView];

Взято из анимации с помощью UIImageView

0 голосов
/ 22 августа 2011

Вы можете использовать -initWithContentOfFile: function вместо -imageNamed: если вы не хотите кэшировать изображение и не можете получить эту память обратно.

Проблема в том, что когда вы запустите анимацию ([campFireView startAnimating]), система распакует и сохранит ВСЕ изображения campFireView в памяти. Это определенно займет много места в памяти ...

Обратите внимание, что это пространство памяти будет правильно освобождено при вызове [campFireView release]

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