UIImageView实现连续帧动画的五个步骤:
- 第一步
//1.创建一个可变数组用于存放动画图片
NSMutableArray *knockImgArr = [NSMutableArray array];
- 第二步
//获取图片总数
int knockImgCount = 81;
//2.用循环遍历取得每一张图片
for (int i = 0; i < knockImgCount; i ++) {
//2.1用字符串取得每张图片名
NSString *knockImgStr = [NSString stringWithFormat:@"knockout_%02d", i];
//2.2创建每张图片(通过图片路径法)
NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForResource:ImgStr ofType:@"jpg"];
UIImage *tomImg = [UIImage imageWithContentsOfFile:path];
//2.3将图片依次存入数组中
[knockImgArr addObject:knockImg];
}
- 第三步
//3.将数组存入UIImageView中
self.tomImgView.animationImages = knockImgArr;
//3.1设置动画时长(以1秒12帧的规格)
self.tomImgView.animationDuration = knockImgCount / 12;
//3.2设置动画播放次数
self.tomImgView.animationRepeatCount = 1;
- 第四步
//4.播放动画
[self.tomImgView startAnimating];
- 第五步
//5.播放完动画时清空内存
[self.tomImgView performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:self.tomImgView.animationDuration + 0.01];
掌握这五步, 便可轻松实现UIImageView的连续帧动画, 如汤姆猫游戏等.
效果展示:
03.gif
03.gif