iphone开发第二课:火焰效果是如何实现的

时间:2023-02-10 15:33:02
今天为大家增加一个有一定意义的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];

效果:
iphone开发第二课:火焰效果是如何实现的iphone开发第二课:火焰效果是如何实现的

代码下载:
  http://files.cnblogs.com/guwandong/FireAnimation.zip