今天为大家增加一个有一定意义的iphone应用程序。在项目中可以作为一个特效来使用。
火焰效果的实现:
动物都是有视觉暂留的(应该没错吧?人类是一定有的!),我们看的电影和动画都是把图像一帧一帧播放出来实现动态效果的。这个程序也是的。
关于项目是如何创建及基本的语法和概念知识在这里是不讲的(第一课就没有讲!实在是太简单了。大家多多努力!)
这里,我建立的是基于View的应用程序,在ViewController的 - (void)viewDidLoad 方法中添加以下代码即可实现火焰效果。 /*
火焰效果的做法:
利用视觉暂留,像播放电影一样把图片播放出来
*/
// 为UIImageView对象分配内存,并通过调用其父类UIView中的- (id)initWithFrame:(CGRect)frame;方法实现初始化
UIImageView *fireView = [[UIImageView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// 构建图片
UIImage *fire01 = [UIImage imageNamed:@"fire01.gif"];
UIImage *fire02 = [UIImage imageNamed:@"fire02.gif"];
UIImage *fire03 = [UIImage imageNamed:@"fire03.gif"];
UIImage *fire04 = [UIImage imageNamed:@"fire04.gif"];
UIImage *fire05 = [UIImage imageNamed:@"fire05.gif"];
UIImage *fire06 = [UIImage imageNamed:@"fire06.gif"];
UIImage *fire07 = [UIImage imageNamed:@"fire07.gif"];
UIImage *fire08 = [UIImage imageNamed:@"fire08.gif"];
UIImage *fire09 = [UIImage imageNamed:@"fire09.gif"];
UIImage *fire10 = [UIImage imageNamed:@"fire10.gif"];
UIImage *fire11 = [UIImage imageNamed:@"fire11.gif"];
UIImage *fire12 = [UIImage imageNamed:@"fire12.gif"];
// 把构建出来的图片加入动画中,别忘记了:数组的最后必须是nil。
fireView.animationImages = [NSArray arrayWithObjects:fire01, fire02, fire03, fire04, fire05, fire06, fire07, fire08, fire09, fire10, fire11, fire12, nil];
// 设置每遍动画的持续时间
fireView.animationDuration = 1.75;
// 设置动画的重复次数,0表示无限重复,因为默认值就是0,所以不设置也行
fireView.animationRepeatCount = 0;
[self.view addSubview:fireView];
// 开始执行动画
[fireView startAnimating];
// 别忘记release,图片为什么不用release就不用讲了吧?
[fireView release];
效果:
代码下载:
http://files.cnblogs.com/guwandong/FireAnimation.zip