用图片方式实现动画
原文:http://www.appsamuck.com/day2.html
感谢作者:admin@appsamuck.com
进入第二天,我在App Store上找了找关于“动画”的软件。首先我下载了一个叫iFlame的软件,它可以显示一段火焰的图像。在这之前我在App Store上还没看过类似火焰或者闪电的相关软件,觉得一定很酷。那么我要解决的首要问题就是让我的火焰的片段不间断的重复播放。随后我又看见在Crazy Lighter(另一个软件)中动画片段可以无限的循环下去。虽然我不确定Crazy Lighter用得到底是什么方法,但那就是我们要做的。那么我们的做法就是用UIImageView来把一组图片循环播放来代替一个Video片段。下面是代码的关键部分:
// 创建一个新的view组建实现动画
UIImageView* campFireView = [[UIImageView alloc] initWithFrame:self.view.frame];
// 读入所有帧的图片
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];
// 播放所有帧用时1.75秒
campFireView.animationDuration = 1.75;
// 无限重复动画
campFireView.animationRepeatCount = 0;
// 开始动画
[campFireView startAnimating];
// 把view组建增加到主窗口
[self.view addSubview:campFireView];
明天见啦~
源代码下载:Bonfire.zip