(二)plist的使用和序列帧动画
来源:互联网 发布:弘讯科技人工智能 编辑:程序博客网 时间:2024/06/05 10:15
六.plist的使用方法:
iOS的程序在安装在手机上以后会把全部资源文件集成在一个文件夹中,这种文件集合称为bundle,对于一般的工程,只有一个bundle,即mainbundle,因此可以通过bundle来获取文件的全路径,然后读取文件,下面的例子读取的是一个数组plist。
NSArray *dictArray = [NSArrayarrayWithContentsOfFile:[[NSBundlemainBundle]pathForResource:@"questions.plist"ofType:nil]];
七.序列帧动画
NSMutableArray *array = [NSMutableArray array];
for(int i = 0; i < 81; i++){
NSString *file = [NSString stringWithFormat:@"drink_%02d.jpg",i];
UIImage *image = [UIImage imageNamed:file];
[array addObject:image];
}
self.tom.animationImages = array;
self.tom.animationRepeatCount = 1;
self.tom.animationDuration = array.count * 0.08;
[self.tom startAnimating];
需要注意的是,注意检查图片中间有无缺失的帧,动画加载如果出现nil帧会直接报错。
使用全路径来加载图片:
NSString *file = [NSString stringWithFormat:@"%@_%02d",actionname,i];
NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForResource:file ofType:@"jpg"];
UIImage *image = [UIImage imageWithContentsOfFile:path];
这样加载图片,使用imageNamed方法会有缓存机制,不会被立即释放。所以使用imageWithContentsOfFile方法来加载全路径的图片,后者
没有缓存,注意是全路径(用Bundle)。
防止动画重复播放:if(self.xximageview.isAnimating) return;
一些小技巧:如果想让点击ImageView的不同部分产生不同的效果,可以通过放置隐藏按钮。
内存管理:动画播放完毕后清空内存中图片。
self.xximageview.animationImages = nil;
使用定时器来延迟销毁:
第一个参数为函数名,第二个为参数,第三个为延迟时间(秒)。
CGFloat delay = self.tom.animationDuration + 1.0;
[self performSelector:@selector(clearCache) withObject:nil afterDelay:delay];
小技巧,直接通过selector调用上面的内容:
[self.tom performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:delay];
- (二)plist的使用和序列帧动画
- 关于cocos2d序列帧动画plist文件的创建
- 使用plist创建动画
- 【cocos2d-x 手游研发小技巧(17)封装动画插件,序列帧 plist+png】
- cocos2dx 3.13 用plist创建序列帧动画
- iOS工作记录7 :ios控件加载图片,plist,懒加载,序列帧动画,添加动画效果(实用例子)
- plist的使用和读取
- plist的使用和读取
- TexturePacker使用方法及免费申请方法(附带cocos2d中帧动画使用和plist文件解析)
- cocos2d 加载 plist文件(帧动画)
- JSON和plist的序列化和反序列化
- 如何播放动画 (使用.plist)
- cocos2dx 使用plist生成动画
- cocos2dx3.0 plist在帧动画Animation中的加载使用
- plist文件生成及使用(帧动画实现)
- 关于pvr和plist的联合使用
- 使用 CocoStudio 创建 Cocos2d-x 序列帧和骨骼动画
- 使用 CocoStudio 创建 Cocos2d-x 序列帧和骨骼动画
- Python学习笔记 协程
- Linux Shell编程基础
- 基于HTML5移动Web应用开发框架 jQuery Mobile
- 最短路
- NLP 常用工具地址
- (二)plist的使用和序列帧动画
- 2015-2-4-工作日志-刘婉
- Spark 操作Hbase 对表的操作:增删改查 scala
- 为什么我们可以在非UI线程中更新UI
- Android 初步 集成接口的多按键监听单按键监听、布局按键监听 找茬游戏
- 日志2015.2.4
- KMP算法
- iOS开发隐藏键盘方法总结
- oschina安卓源代码解析(六)主页解析 1、登陆