笔记

2016-07-14  本文已影响0人  墨染倾

代码如下:

#import "ViewController.h"

@interface ViewController ()

@property (weak, nonatomic) IBOutlet UIImageView *tom;

@end

@implementation ViewController

- (void)tomAnimationOfName:(NSString *) img andCount:(int)count

{

   //序列帧动画:让一组图片,和放电影一样,一张张的播放,动起来的效果

   //判断是否动画中,不可以同步

   if ([self.tom isAnimating]) {

       //直接结束动画操作方法,这里就是没有返回值,nil 不行

       return;

   }

   //开始肯定是存储图片,81个,用可变数组

   NSMutableArray *arrayImage = [NSMutableArray array];

   //遍历图片

   for (int i = 0; i < count; i++) {

       //类似 c,格式控制,不足两位0补齐

       NSString *name = [NSString stringWithFormat:@"%@_%02d.jpg", img, i];

       UIImage *image = [UIImage imageNamed:name];

       //添加到数组里

       [arrayImage addObject:image];

   }

   //然后开始动画

   //把图片放到animationImages,接受数组参数

   self.tom.animationImages = arrayImage;

   //设置时间间隔,81张图,图多就播的时间稍微长,否则短

   self.tom.animationDuration = arrayImage.count * 0.074;

   //设置重复次数

   self.tom.animationRepeatCount = 1;

   //开始动画

   [self.tom startAnimating];

   //结束动画

}

- (IBAction)head

{

   [self tomAnimationOfName:@"knockout" andCount:81];

}

- (IBAction)drink

{

   [self tomAnimationOfName:@"drink" andCount:81];

}

上一篇下一篇

猜你喜欢

热点阅读