cocos2dx如何使用CCFileUtils进行文件查找的
来源:互联网 发布:淘宝如何招募分销商 编辑:程序博客网 时间:2024/04/30 22:39
Cocos2dx支持使用绝对路径以及相对路径进行查找文件
CCFileUtils是一个抽象类,它在ios中使用CCFileUtilsIOS作为具体类。
boolCCFileUtilsIOS::isFileExist(conststd::string& strFilePath)函数可以使用绝对路径以及相对路径,绝对路径调用NSFileManager的fileExistsAtPath
判断文件是否存在,相对路径调用NSBundle的pathForResource来判断文件是否存在
boolCCFileUtils::isFileExistInPak(constchar *filePath)函数判断文件是否在pak文件中,游戏一般把图片等资源放在pak文件中,这样起到一个加密的
作用。我们公司游戏就是通过对图片资源以及lua脚本资源进行一个加密打包处理,最终生成的ios app包含的是加密后的pak文件。
voidCCFileUtils::addSearchPath(constchar* path_)函数是用来添加搜索路径的,我们在游戏里面查找文件不需要写一个文件很长的路径名,可以把
某个基本的资源文件夹作为搜索路径加到搜索路径缓存中去,然后再需要用到文件的地方填写去除这个搜索路径子路径,cocos2dx它会帮我们合成一个全
路径,如果是绝对路径就使用NSFileManager的fileExistsAtPath进行查找,如果是相对路径就是用NSBundle的pathForResource进行查找。如果找不到文件,
就会使用isFileExistInPak到pak中查找。
如果查找到了文件,就会返回全路径,如果在pak中查找到文件,则会返回这样的路径:path = "pak://" + filepath,filepath是合成路径即全路径。
不在pak中的文件可以直接通过读写函数把文件加载到内存,而在pak的文件,需要通过如下接口从pak文件中解析出文件:
unsignedchar *CCFileUtils::getFileDataFromPak(constchar *filePath,unsignedlong * pSize)函数从pak中获得数据
unsignedchar*CCFileUtils::getFileData(constchar* pszFileName,constchar* pszMode,unsignedlong * pSize)函数是读取文件数据的,如果路径前
6个个字符是pak://则会调用getFileDataFromPak从pak中获取数据,否则直接使用fopen打开一个文件读取数据
- cocos2dx如何使用CCFileUtils进行文件查找的
- cocos2dx-2.x CCFileUtils文件管理类分析(1)
- cocos2dx-2.x CCFileUtils文件管理类分析(2)
- cocos2dx-2.x CCFileUtils文件管理类分析(3)
- cocos2dx-2.x CCFileUtils文件管理类分析(4)
- cocos2dx-2.x CCFileUtils文件管理类分析
- cocos2dx CCFileUtils::sharedFileUtils() 静态调用
- cocos2dx之如何使用HttpClient进行网络通讯
- cocos2d CCFileUtils读取文件后 解析自己的.ini文件
- CCFileUtils 文件搜索
- 如何使用F5刷新cocos2dx lua创建的.exe文件
- 使用locate命令进行快速查找文件
- vs2008突然不能使用查找功能了(找不到要查找的文件 查找进行的过程中被停止)
- vs2008突然不能使用查找功能了(找不到要查找的文件 查找进行的过程中被停止)
- CCFileUtils::getFileData 使用[coco2d-x]
- 如何使用PowerShell查找占用磁盘空间最大的文件
- cocos2dx lua 下查找文件是否存在的方法
- Eclipse中,如何对多个JAVA文件,进行某个字符的查找替换
- 浅谈UIWebView与JavaScript交互
- select * from user与select u.id,u.name from user的区别?
- Linux下/proc目录简介
- jdom解析xml
- unity3d结合轮廓显示,实现完整的框选目标(附Demo代码)
- cocos2dx如何使用CCFileUtils进行文件查找的
- g++/make: C++程序文件组织模版
- sql中in和exists的区别效率问题
- <转>js onload/onunload/onbeforeunload事件
- 什么是DMA
- java中的值传递和引用传递到底有什么区别
- onethink后台登录验证码不显示问题
- PinnedHeaderExpandableListView expandListView
- Android中颜色透明度对应16进制值