注:/* // UIImageView *imageView =[UIImageView new];
//序列帧动画要播放的图片数组
// imageView.animationImages
//动画时长
// imageView.animationDuration
//动画重复次数
// imageView.animationRepeatCount
//开始动画
// imageView startAnimating
//结束动画
// imageView stopAnimating
//是否正在执行动画
// imageView is Animating
} */
第一种:各种状态逐个实现
//
// ViewController.m
//汤姆猫
//
// Created by lanou on 16/7/12.
// Copyright © 2016年lanou. All rights reserved.
//
#import"ViewController.h"
@interfaceViewController()
@property(weak,nonatomic)IBOutletUIImageView*tomCatView;
@end
@implementationViewController
- (void)viewDidLoad {
[superviewDidLoad];
- (IBAction)eatBirdAction:(UIButton*)sender {
//创建可变数组images,负责存放要播放的图片数组
实现生气状态:
NSMutableArray*images = [NSMutableArrayarray]; 使用一个数组来存放图片
for(NSIntegeri =0; i<40; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString*imagesName = [NSStringstringWithFormat:@"eat_%02ld.jpg",i ];
// “eat_%02ld.jpg”占位符长整型两位
//根据格式化的图片名加载图片image
UIImage*image = [UIImageimageNamed:imagesName];
//将图片image添加到数组images中
[imagesaddObject:image];
}
//设置动画图片数组
self.tomCatView.animationImages= images;
//设置动画时长
self.tomCatView.animationDuration=40*0.075;
//设置动画重复次数
self.tomCatView.animationRepeatCount=1;
//开始动画
[self.tomCatViewstartAnimating];
}
// 喝水动作的实现
- (IBAction)drinkAction:(UIButton*)sender {
NSMutableArray*images = [NSMutableArrayarray];
for(NSIntegeri =0; i<81; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString*imagesName = [NSStringstringWithFormat:@"drink_%02ld.jpg",i ];
UIImage*image = [UIImageimageNamed:imagesName];
[imagesaddObject:image];
}
self.tomCatView.animationImages= images;
self.tomCatView.animationDuration=81*0.075;
self.tomCatView.animationRepeatCount=1;
[self.tomCatViewstartAnimating];
}
- (IBAction)cymbalAction:(UIButton*)sender {
NSMutableArray*images = [NSMutableArrayarray];
for(NSIntegeri =0; i<13; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString*imagesName = [NSStringstringWithFormat:@"cymbal_%02ld.jpg",i ];
UIImage*image = [UIImageimageNamed:imagesName];
[imagesaddObject:image];
}
self.tomCatView.animationImages= images;
self.tomCatView.animationDuration=13*0.075;
self.tomCatView.animationRepeatCount=1;
[self.tomCatViewstartAnimating];
}
- (IBAction)pieAction:(UIButton*)sender {
NSMutableArray*images = [NSMutableArrayarray];
for(NSIntegeri =0; i<24; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString*imagesName = [NSStringstringWithFormat:@"pie_%02ld.jpg",i ];
UIImage*image = [UIImageimageNamed:imagesName];
[imagesaddObject:image];
}
self.tomCatView.animationImages= images;
self.tomCatView.animationDuration=24*0.075;
self.tomCatView.animationRepeatCount=1;
[self.tomCatViewstartAnimating];
}
- (IBAction)fartAction:(UIButton*)sender {
NSMutableArray*images = [NSMutableArrayarray];
for(NSIntegeri =0; i<28; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString*imagesName = [NSStringstringWithFormat:@"fart_%02ld.jpg",i ];
UIImage*image = [UIImageimageNamed:imagesName];
[imagesaddObject:image];
}
self.tomCatView.animationImages= images;
self.tomCatView.animationDuration=28*0.075;
self.tomCatView.animationRepeatCount=1;
[self.tomCatViewstartAnimating];
}
- (IBAction)angryAction:(UIButton*)sender {
NSMutableArray*images = [NSMutableArrayarray];
for(NSIntegeri =0; i<26; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString*imagesName = [NSStringstringWithFormat:@"angry_%02ld.jpg",i ];
UIImage*image = [UIImageimageNamed:imagesName];
[imagesaddObject:image];
}
self.tomCatView.animationImages= images;
self.tomCatView.animationDuration=26*0.075;
self.tomCatView.animationRepeatCount=1;
[self.tomCatViewstartAnimating];
}
- (IBAction)footright:(UIButton*)sender {
NSMutableArray*images = [NSMutableArrayarray];
for(NSIntegeri =0; i<30; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString*imagesName = [NSStringstringWithFormat:@"footright_%02ld.jpg",i ];
UIImage*image = [UIImageimageNamed:imagesName];
[imagesaddObject:image];
}
self.tomCatView.animationImages= images;
self.tomCatView.animationDuration=30*0.075;
self.tomCatView.animationRepeatCount=1;
[self.tomCatViewstartAnimating];
}
- (IBAction)stomach:(UIButton*)sender {
NSMutableArray*images = [NSMutableArrayarray];
for(NSIntegeri =0; i<34; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString*imagesName = [NSStringstringWithFormat:@"stomach_%02ld.jpg",i ];
UIImage*image = [UIImageimageNamed:imagesName];
[imagesaddObject:image];
}
self.tomCatView.animationImages= images;
self.tomCatView.animationDuration=34*0.075;
self.tomCatView.animationRepeatCount=1;
[self.tomCatViewstartAnimating];
}
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
第二种通过调用子函数来实现所有状态,就不用一个一个状态的写
#import"ViewController.h"
@interfaceViewController()
@property(weak,nonatomic)IBOutletUIImageView*tomCatView;
@end
@implementationViewController
- (void)viewDidLoad {
[superviewDidLoad];
/*
//创建可变数组images,负责存放要播放的图片数组
NSMutableArray *images = [NSMutableArray array];
for (NSInteger i =0; i<40; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString *imagesName = [NSString stringWithFormat:@"eat_%02ld.jpg",i ];
//根据格式化的图片名加载图片image
UIImage *image = [UIImage imageNamed:imagesName];
//将图片image添加到数组images中
[images addObject:image];
}
//设置动画图片数组
self.tomCatView.animationImages = images;
//设置动画时长
self.tomCatView.animationDuration = 40*0.075;
//设置动画重复次数
self.tomCatView.animationRepeatCount = 1;
//开始动画
[self.tomCatView startAnimating];
*/
通过调用子函数,区域内的可以省略,避免程序的繁杂
}
-(void)tomCatAnimationWithName:(NSString*)name WithCount:(NSInteger)count
{
if([self.tomCatViewisAnimating]) {
return;
}
//创建可变数组images,负责存放要播放的图片数组
NSMutableArray*images = [NSMutableArray array];
for(NSInteger i=0;i<count;i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString*imagesName = [NSStringstringWithFormat:@"%@_%02ld.jpg",name,i ];
//根据格式化的图片名加载图片image
UIImage*image = [UIImageimageNamed:imagesName];
//将图片image添加到数组images中
[imagesaddObject:image];
}
//设置动画图片数组
self.tomCatView.animationImages= images;
//设置动画时长
self.tomCatView.animationDuration= count*0.075;
//设置动画重复次数
self.tomCatView.animationRepeatCount=1;
//开始动画
[self.tomCatViewstartAnimating];
}
子函数调用
- (IBAction)drinkAction:(UIButton*)sender {
[selftomCatAnimationWithName:@"drink"WithCount:81];
/*
NSMutableArray *images = [NSMutableArray array];
for (NSInteger i =0; i<81; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString *imagesName = [NSString stringWithFormat:@"drink_%02ld.jpg",i ];
UIImage *image = [UIImage imageNamed:imagesName];
[images addObject:image];
}
self.tomCatView.animationImages = images;
self.tomCatView.animationDuration = 81*0.075;
self.tomCatView.animationRepeatCount = 1;
[self.tomCatView startAnimating];
*/
}
子函数调用
- (IBAction)cymbalAction:(UIButton*)sender {
[selftomCatAnimationWithName:@"cymbal"WithCount:13];
/*
NSMutableArray *images = [NSMutableArray array];
for (NSInteger i =0; i<13; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString *imagesName = [NSString stringWithFormat:@"cymbal_%02ld.jpg",i ];
UIImage *image = [UIImage imageNamed:imagesName];
[images addObject:image];
}
self.tomCatView.animationImages = images;
self.tomCatView.animationDuration = 13*0.075;
self.tomCatView.animationRepeatCount = 1;
[self.tomCatView startAnimating];
*/
}
- (IBAction)pieAction:(UIButton*)sender {
NSMutableArray*images = [NSMutableArrayarray];
for(NSIntegeri =0; i<24; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString*imagesName = [NSStringstringWithFormat:@"pie_%02ld.jpg",i ];
UIImage*image = [UIImageimageNamed:imagesName];
[imagesaddObject:image];
}
self.tomCatView.animationImages= images;
self.tomCatView.animationDuration =24*0.075;
self.tomCatView.animationRepeatCount =1;
[self.tomCatView startAnimating];
}
- (IBAction)fartAction:(UIButton *)sender {
NSMutableArray *images = [NSMutableArray array];
for(NSInteger i =0; i<28; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString *imagesName = [NSString stringWithFormat:@"fart_%02ld.jpg",i ];
UIImage *image = [UIImage imageNamed:imagesName];
[images addObject:image];
}
self.tomCatView.animationImages = images;
self.tomCatView.animationDuration =28*0.075;
self.tomCatView.animationRepeatCount =1;
[self.tomCatView startAnimating];
}
- (IBAction)footright:(UIButton *)sender {
NSMutableArray *images = [NSMutableArray array];
for(NSInteger i =0; i<30; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString *imagesName = [NSString stringWithFormat:@"footright_%02ld.jpg",i ];
UIImage *image = [UIImage imageNamed:imagesName];
[images addObject:image];
}
self.tomCatView.animationImages = images;
self.tomCatView.animationDuration =30*0.075;
self.tomCatView.animationRepeatCount =1;
[self.tomCatView startAnimating];
}
- (IBAction)stomach:(UIButton *)sender {
NSMutableArray *images = [NSMutableArray array];
for(NSInteger i =0; i<34; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString *imagesName = [NSString stringWithFormat:@"stomach_%02ld.jpg",i ];
UIImage *image = [UIImage imageNamed:imagesName];
[images addObject:image];
}
self.tomCatView.animationImages = images;
self.tomCatView.animationDuration =34*0.075;
self.tomCatView.animationRepeatCount =1;
[self.tomCatView startAnimating];
}
- (IBAction)angry:(UIButton *)sender {
NSMutableArray *images = [NSMutableArray array];
for(NSInteger i =0; i<26; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString *imagesName = [NSString stringWithFormat:@"angry_%02ld.jpg",i ];
UIImage *image = [UIImage imageNamed:imagesName];
[images addObject:image];
}
self.tomCatView.animationImages = images;
self.tomCatView.animationDuration =26*0.075;
self.tomCatView.animationRepeatCount =1;
[self.tomCatView startAnimating];
}
- (IBAction)scrathAction:(UIButton *)sender {
NSMutableArray *images = [NSMutableArray array];
for(NSInteger i =0; i<56; i++) {
//根据i来加载图片,然后添加到可变数组images里面
NSString *imagesName = [NSString stringWithFormat:@"scratch_%02ld.jpg",i ];
UIImage *image = [UIImage imageNamed:imagesName];
[images addObject:image];
}
self.tomCatView.animationImages = images;
self.tomCatView.animationDuration =56*0.075;
self.tomCatView.animationRepeatCount =1;
[self.tomCatView startAnimating];
}
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end