失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > iOS开发基础-序列帧动画之Tom猫

iOS开发基础-序列帧动画之Tom猫

时间:2022-01-24 02:06:32

相关推荐

iOS开发基础-序列帧动画之Tom猫

新建一个Single View Application,向该工程中导入Tom猫的图片资源,本示例演示Tom猫喝牛奶的动作。图片的名字为drink_00.jpg、drink_01.jpg、...、drink_80.jpg。

向Main.storyboard中添加UIImageView,将图片drink_00.jpg作为默认显示的画面。将该控件与ViewController类建立一个IBOutlet连接,属性名为:@property (weak, nonatomic) IBOutlet UIImageView *tomCat;

再添加大小为60*60的UIButton控件,将控件的名字设为drink,标题文字颜色为Clear Color,再将图片milk.png作为该按钮的背景图片。将该按钮控件与ViewController类建立一个IBAction动作连接,方法为- (IBAction)buttonClicked:(id)sender;。

在ViewController.m中添加如下代码实现序列帧动画:

1 //ViewController.m 2 - (void)playAnimation:(int)count fileName:(NSString *)fileName { 3//创建可变数组存放序列帧图片 4NSMutableArray *images = [NSMutableArray array]; 5for (int i = 0; i < count; i++) { 6 // 图片名。%02d -- 当整数位数小于两位时,在前面自动补1个零 7 NSString *name = [NSString stringWithFormat:@"%@_%02d.jpg", fileName, i]; 8 NSString *path = [[NSBundle mainBundle] pathForResource:name ofType:nil]; 9 UIImage *img = [[UIImage alloc] initWithContentsOfFile:path];10 [images addObject:img];11}12self.tomCat.animationImages = images;13self.tomCat.animationRepeatCount = 1;14self.tomCat.animationDuration = count * 0.1;15[self.tomCat startAnimating];16 }17 18 - (IBAction)buttonClicked:(id)sender {19//如果正在播放动画则直接返回20if (self.tomCat.isAnimating) {21 return;22}23int count = 81;//图片数量24NSString *title = @"drink";25//播放动画26[self playAnimation:count fileName:title];27 }

效果图如下:

参考博客:iOS开发UI篇—iOS开发中三种简单的动画设置

实例代码:/s/1pKgR56V

如果觉得《iOS开发基础-序列帧动画之Tom猫》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。