代码如下:
#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];
}
网友评论