作者:feixiang1563122 | 来源:互联网 | 2023-07-04 20:46
前置条件
这里假定读者已经能够使用 cocos2d-wophone 进行游戏的开发,并且可以通过从硬盘读取资源文件。如果还不清楚这些的话,那么请移步到 这里 补充相关的知识。
本文中使用的示例代码、截图等都是基于 cocos2d-x 源码中的 tests 工程的,为了在阅读本文时能够更好的明白各个操作,建议您下载 cocos2d-x的源码 ,并按照如何在WoPhone上运行tests工程这篇文章将 tests工程运行起来。
如何操作
对于如何让自己的代码可以从zip文件中读取相应的资源文件,操作是很简单的,只需要两个步骤。这里以 test wophone 工程为例,步骤如下:
首先将 tests/Res 目录下的所有的资源文件打包成 TestCocos2dx.zip 文件,并且需要将该文件放到指定的目录(见第二步中示例代码)。这里为了让代码中使用资源文件时所用的参数不需要修改,需要保证 zip 文件中的目录结构如下图:
然后在 AppDelegate 类的 applicationDidFinishLaunching 函数中添加如下代码即可:
1#if defined(CCX_PLATFORM_WOPHONE)
2 // set the resource zip file
3 CCFileUtils::setResource("TestCocos2dx.zip");
4#endif
cocos2d-wophone 目前支持的几种资源文件读取方式对比
读取方式 |
优点 |
缺点 |
---|
硬盘读取 |
实现简单,只需要调用 CCFileUtils::setResource() 接口,通过第二个参数设置资源文件路径即可。 |
1. 在打包安装程序时,很难将数据文件进行打包;
2. 资源文件未完全封闭 |
使用 zip 文件 |
1. 实现简单,只需要调用 CCFileUtils::setResource() 接口通过第一个参数设置 zip 文件的名称;
2. 打包安装程序简单,只要将 zip 文件当做数据文件打包就可以了。 |
资源文件未完全封闭 |
多种方式并存时的调用顺序
当在代码中,多种资源文件读取方式并存时,检查的顺序如下:
「从 zip 文件读取」->「从硬盘读取」
这里需要注意的一点是,当指定的 zip 文件存在时,如果需要使用的资源文件在 zip 文件中无法找到,那么将不会再从硬盘中查找资源文件。
WoPhone 资源文件的存放路径
根据 CCFileUtils::setResource() 函数第二个参数值的不同,需要将资源文件放到不同的目录,列表如下:
参数值 |
模拟器路径 |
真机路径 |
---|
NULL |
D:/Work7/NEWPLUS/TG3/APP |
与应用的 .so 文件同目录 |
开发者设定的目录 |
开发者设定的目录 |
开发者设定的目录 |