欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

Cocos2d-wophone中如何将资源文件打包成zip文件

来源: 开发者 投稿于  被查看 6463 次 评论:164

Cocos2d-wophone中如何将资源文件打包成zip文件


前置条件

这里假定读者已经能够使用 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 文件同目录
开发者设定的目录 开发者设定的目录 开发者设定的目录

用户评论