CocosCreator3.8研究笔记(十)CocosCreator 图像资源的理解

自学 Cocos JS 之 资源加载的那点事

这期的内容应该更偏向于程序。

个人认为Cocos Creator对资源的加载分为两种:静态加载和动态加载。

静态加载

所谓静态加载,说白了就是直接在Creator编辑器里拖拖拉拉,给各种节点托入图片,声音,预制体(prefab),动画,脚本等资源。

优点是:

  • 简单,可以直接产出
  • 所见即所得
  • 不需要管理资源的加载和释放,一切交给系统

缺点是:

  • 不能动态更改资源
  • 一旦把所有资源都预先挂在节点上,内存开销会增加
  • 流程会变的复杂,如果更改(添加,删除,修改)了一个资源就要在编辑器操作一下,复杂的流程会增加出错的概率,增加定位BUG的难度

上图中脚本ConfigMgr的作用是在游戏启动的时候将所有Json配置表一次性加载到游戏中,所有Scene通用。

动态加载

所谓动态加载,就是UI布局上只留一个节点(可以有资源也可以没有资源),通过代码在需要添加/更改资源的时候加载资源。

优点是:

  • 节省内存,在需要资源的时候加载对应的资源
  • 定位BUG简单,直接调试就能找到问题所在

缺点是:

  • 需要通过编码实现
  • 不仅要处理加载,还要处理卸载
  • 不能所见即所得

上图是动态加载龙骨的一个测试用例

  1. 新建场景,添加名为hero的空节点用来存放主角
  2. hero节点添加DragonBones组件
  3. 场景Canvas挂Player脚本
  4. 把hero节点拖到Player脚本中,赋值给PlayerDragonBone变量

上图就是Player.js脚本的内容

上图是浏览器中运行的效果图。

注意事项

需要动态加载的资源,

必须将资源放在assets/resources/下

必须将资源放在assets/resources/下

必须将资源放在assets/resources/下

重要的事情说三遍,我就是因为路径问题折腾了一天时间。

结语

对资源的加载一定要合理运用

就比如Player.js脚本,不应该把资源的名称写在代码里,应把资源名放在Json里,然后通过ConfigMgr.js查找对应的配置读取出来。静态读配置动态加载资源。

只有合理运用资源的静/动态加载才能实现收益的最大话。

原文链接:,转发请注明来源!