整个汤姆猫的各个动作实现,只要重复这六步就可以了
在 RootViewController.m 中实现
首先把汤姆猫一个动作的套图放到工程中
第一步:
当你点击一个事件的时候,汤姆猫会相应的做一个动作,这些动作就是由多个静止图片构成的.因此我们要先定义一个数组属性,将图片放进数组中,然后对数组进行操作,是动画连贯.
@property(nonatomic,retain)NSMutableArray *drinkArr;
第二步:
每一个容器在使用的时候都需要先对其进行初始化操作.因此在初始化方法中,对数组进行初始化
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
self = [superinitWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.drinkArr = [NSMutableArrayarray];
}
return self;
}
UIButton *drinkButton = [UIButtonbuttonWithType:UIButtonTypeCustom];
drinkButton.frame = CGRectMake(20, 230, 70, 50);
// 添加的drink小图片,没有图片使用setTitle添加文字一样
[drinkButton setImage:[UIImageimageNamed:@"drink.png"]forState:UIControlStateNormal];
// 添加Button的触发方法
[drinkButton addTarget:selfaction:@selector(drink:)forControlEvents:UIControlEventTouchUpInside];
[self.viewaddSubview:drinkButton];
// 把图片生成UIImage对象,放到数组里
for (NSInteger i =0; i < 81; i++) {
NSString *drinkPicName = [NSStringstring];
if (i < 10) {
// 拼接图片名
drinkPicName = [NSString stringWithFormat:@"drink_0%ld.jpg",i];
}else{
drinkPicName = [NSString stringWithFormat:@"drink_%ld.jpg",i];
}
UIImage *drinkImage = [UIImageimageNamed:drinkPicName];
[self.drinkArraddObject:drinkImage];
}
//播放一次动画所需要的时间
self.imageView.animationDuration =2.5;
// 重复次数
self.imageView.animationRepeatCount =1;
- (void)drink:(UIButton *)button{
self.imageView.animationImages =self.drinkArr;
// 开始动画
[self.imageViewstartAnimating];
}
- (void)dealloc
{
[_drinkArr release];
[super dealloc];
}