加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx 资源加载的问题

发布时间:2020-12-14 20:07:13 所属栏目:百科 来源:网络整理
导读:项目一开始加载了游戏所需要的所有资源,造成了内存占用过高的情况。 记录下当前的解决思路吧: 统计下个场景要加载的资源。在replaceScene的时候,首先根据要加载的资源以及当前这个场景做比较,找出不需要的资源释放掉,同时加载那些当前不存在的资源,估

项目一开始加载了游戏所需要的所有资源,造成了内存占用过高的情况。

记录下当前的解决思路吧:

统计下个场景要加载的资源。在replaceScene的时候,首先根据要加载的资源以及当前这个场景做比较,找出不需要的资源释放掉,同时加载那些当前不存在的资源,估计要用到的常用到的函数分别为:

ccs.ArmatureDataManager:getInstance():removeArmatureFileInfo(k);

cc.Director:getInstance():getTextureCache():removeUnusedTextures();

ccs.ArmatureDataManager:getInstance():addArmatureFileInfoAsync;


下面上lua代码的思路

function CReplaceScene:ReplaceScence(replaceFn,bHasProgress,...) --(...表示要加载的资源表等) --replaceFn表示处理完资源的回调,通用用于切换场景

local sceneLoading = CLoadingScene:Create(replaceFn,...);
cc.Director:getInstance():replaceScene(sceneLoading);

end

其中,上述思路为,切换到loadingScene加载完资源之后,调用replaceFn切换到目标场景。CLoadingScene里面要说的是就是上面所说的找出要释放的资源以及需要加载的资源。


--以上是自己在项目中看到别人所写而自己理解的,有可能有误,需谨慎。以后有了新的理解之后在进行补充........

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读