//
// ViewController.m
// TomCat
//
// Created by xin on 15-3-15.
// Copyright (c) 2015年 Jackey. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *tom;
@end
@implementation ViewController
//-(UIImageView *)tom{
// if (_tom==nil) {
// [_tom setAnimationRepeatCount:1];
// [_tom setAnimationDuration:0.075];
// }
// return _tom;
//}
-(void)tomAnimation:(NSString *)imagePrefix count:(int)count{
if ([self.tom isAnimating])
return;
NSMutableArray *array = [NSMutableArray array];
for(int i=0;i<count;i++){
NSString *imageName = [NSString stringWithFormat:@"%@_%02d.jpg",imagePrefix,i];
//UIImage *image = [UIImage imageNamed:imageName];
//imageNamed 适用于小图片 这里的情况,需要使用大量的图片占用很多内存
NSString *path = [[NSBundle mainBundle] pathForResource:imageName ofType:nil];
UIImage *image = [UIImage imageWithContentsOfFile:path];
[array addObject:image];
}
[self.tom setAnimationImages:array];
[self.tom setAnimationDuration:array.count*0.075];
[self.tom setAnimationRepeatCount:1];
[self.tom startAnimating];
//释放内存
//[self performSelector:@selector(clearTom) withObject:nil afterDelay:self.tom.animationDuration];
[self.tom performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:self.tom.animationDuration];
}
//-(void)clearTom{
// self.tom.animationImages = nil;
//}
- (IBAction)headKnockOut {
[self tomAnimation:@"knockout" count:81];
}
- (IBAction)drink {
[self tomAnimation:@"drink" count:81];
}
@end
可以采取另外一种方式去拿到图片,但是图片拉进项目的时候应该选择reference的方式
//try the file way, but the images file should be referenced
NSString *bundlePath = [[[NSBundle mainBundle]bundlePath]stringByAppendingPathComponent:@"Animations"];
NSString *animPath = [bundlePath stringByAppendingPathComponent:imagePrefix];
NSArray *files = [[NSFileManager defaultManager]contentsOfDirectoryAtPath:animPath error:nil];
for(NSString *fileName in files){
NSString *filePath = [NSString stringWithFormat:@"%@/%@",animPath,fileName];
UIImage *image = [UIImage imageNamed:fileName];
[array addObject:image];
}

