码迷,mamicode.com
首页 > 其他好文 > 详细

帧动画

时间:2015-04-29 00:17:27      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

用storyboard来创建汤姆猫为例。

准备工作:素材中的照片放置位置。经常用到而且占用内存比较小的图片建议放到images  xcassets里面,不经常用、占内存大的图片一般放到 Supporting Files文件里面。

重构-抽取代码:

1 把将重复代码复制到新的方法中。

2 根据需要调整参数。

#import "ViewController"

@interface ViewControll ()

@property(nonatomic,weak)tom;

@end

 

@implementation ViewController

-(IBAction)knockout

{

//调用方法并出入参数knockout是照片名字的前部knockout_00.jpg,81为照片数量。

[self tomWithName:@"knockout" andCount:81];

}

-(IBAction)eat

{

//调用方法并出入参数

[self tomWithName:@"eat" andCount:40];

}

-(void)tomWithName:(NSString *)name andCount(NSInteger)count1

{

//就行判断,如果动画正在播放就不能执行下一个动画。这样保证动画播放完整。

if([self.tom isAnimating])return;

 //1创建可变数组用来储存照片名字

NSMutableArray *array=[NSMutableArray array];

//2遍历取得照片名字,然后取出照片,然后把照片添加到数组里

fpr(int i=0;i<count1;i++){

//NSString *name=[NSString stringWitfFormat:@"%@_%02d.jpg”name,i]; //这里的%02d是十位不足补零。例: 07 。

//UIImage *imageName=[UIImage imageNamed:name];

NSString *path=[[NSBoundle mainBoundle] pathForResource:nameofType:nil];

UIImage *imageName=[UIImage imageWithCountentsOfFle:path];

[array addObjiect:imageName];

 

//实现动画

//1添加动画照片

 self.tom.animationImages=array;

//2设置动画播放次数

self.tom.animationRepeatCount=1;

//3设置动画播放时常,0.75是自己觉得这个速度播放动画正好

self.tom.animationDuraion=count1*0.75

//4动画开始

[self.tom start Animating];

//                                    (动画数组                            . )           (数组清空)      (动画播放总时间       .)

[self.tom performSelector:@selector(setAnimationImage) withObject:nil afterDalay:self.tom.animation];//动画播放完了对当前图片数组进行释放。

}

@end

imageNamed:系统推荐使用的(UIImage imageNamed:(UIImage *)),图片实例化后内存由系统来释放(缓存)。

如果需要手动释放内存级需要使用 imageWithContentsOfFile(UIImage imageWithContentsOfFile:全路径)。

只有存放在Supporting Files中的图片才可以使用imageWithContentsOfFile。

小方法:currentTitle可以取出当前按钮的title内容

所以可以把eat和knockout方法合并(把按钮的title输入照片名字前部比如eat、knockout.把tag设成照片张数)

-(IBAction)tomAnimation:(UIBtton*)sender

{

[self tomWithName:currentTitle andCount:sender.tag ];

}

 

帧动画

标签:

原文地址:http://www.cnblogs.com/SuperMan1/p/4464395.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!