cocos2dx 3.3 AssetsManager测试更新

本文介绍了在使用cocos2dx 3.3的AssetsManager进行资源更新时遇到的问题,即部分玩家因资源文件被网络提供商缓存导致热更新失败。解决方案是在AssetsManager的curl设置中添加特定代码,该问题在3.3版本已修复。
摘要由CSDN通过智能技术生成

创建工程

cmd--进入tools/cocos2d-console/bin(cocos.py所在的目录)--python cocos.py new update –p com.test.update -l cpp -d updateTest
命令中出现的各参数:
update:工程名
com.test.update:android包名
cpp:c++工程
updateTest:工程所在目录


修改代码

HelloWorldScene.h添加:
#include "cocos-ext.h"

在class HelloWorld : public cocos2d::Layer中添加:
	bool initUpdate();
	void menuUpdateCallback(Ref* sender);
	void updateEnd();


	void onError(int nErrCode);
	void onProgress(int nProgress);
	void onSuccess();


private:
	cocos2d::LabelTTF *m_labelUpdate;
	cocos2d::extension::AssetsManager *m_pAssetsMgr;



HelloWorldScene.cpp添加:
bool HelloWorld::initUpdate()
{
	auto visibleSize = Director::getInst
Cocos2d-x是一个使用C++的开源2D游戏引擎,可以在多个平台(如iOS、Android、Windows、macOS)上运行。Cocos2d-x提供了一个AssetsManager类,用于将游戏资源动态加载到游戏中,以减少游戏的启动时间和占用的内存空间。 AssetsManager的基本工作流程如下: 1. 配置Manifest文件,它包含了游戏资源的列表和版本号。 2. 创建一个AssetsManager对象,并设置Manifest文件的路径,并设置下载资源的路径(可选)。 3. 调用AssetsManager::update()方法来检查游戏资源是否需要更新,如果需要,将进行下载更新。 4. 调用AssetsManager::getLocalManifest()方法获取本地Manifest文件内容和版本号。 5. 调用AssetsManager::loadLocalManifest()方法加载本地Manifest文件。 6. 调用AssetsManager::create()方法创建AssetsManager对象并返回。 7. 调用AssetsManager对象的loadRemoteManifest()方法从远程服务器加载Manifest文件,并设置版本号和下载路径。 8. 调用AssetsManager::update()方法检查游戏资源是否需要更新,并进行下载更新AssetsManager提供了以下方法: 1. setPackageUrl()和setVersionFileUrl():设置游戏资源的下载路径和版本文件的下载路径。 2. deleteVersion():删除指定版本的游戏资源。 3. getLocalManifest():获取本地Manifest文件内容和版本号。 4. loadLocalManifest():从本地加载Manifest文件。 5. create():创建一个AssetsManager对象。 6. loadRemoteManifest():从远程服务器加载Manifest文件,并设置版本号和下载路径。 7. update():检查游戏资源是否需要更新,并进行下载更新。 8. getStoragePath():获取游戏资源的存储路径。 AssetsManager可以显著减少游戏启动时间和内存占用,提高游戏性能和用户体验。同时,它也提供了灵活的配置和管理方式,方便开发人员对游戏资源进行动态加载和更新
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值