CocosCreator3.8研究笔记(九)CocosCreator 场景资源的理解

简介: CocosCreator3.8研究笔记(九)CocosCreator 场景资源的理解

相信很多朋友都想知道, Cocos Creator 资源的定义? Cocos Creator 常见的资源包含哪些?Cocos Creator 资源的管理机制是什么样的?


Cocos Creator 中所有继承自 Asset 的类型都统称资源 ,例如:Texture2DSpriteFrameAnimationClipPrefab 等,

它们都是Cocos 引擎统一自动化加载的。


由于CocosCreator资源涉及的知识点比较多,篇幅原因,我们将按照不同的资源类型一一进行介绍。


今天我们主要介绍场景资源


在 Cocos Creator 3.8 中,游戏场景(Scene)是呈现所有游戏内容的载体,而场景文件本身也作为游戏资源存在,并保存了游戏的大部分信息。


1、创建场景的三种方式

  • 资源管理器 中,右键点击需要放置场景文件的文件夹,然后选择 创建 -> Scene
    推荐使用这种方式创建场景。


  • 资源管理器 中点击左上角的 + 创建按钮,然后选择 Scene



  • 在顶部菜单栏中选择 文件 -> 新建场景,即可在 场景编辑器 中直接创建一个新场景。

保存完成后才会在 资源管理器 的根目录下出现场景文件。



2、保存场景

  • 使用快捷键 Ctrl + S(Windows)或 Command + S(MacOS)来快速保存场景。
  • 在顶部菜单栏中选择 文件 -> 保存场景


3、切换场景

  • 资源管理器 中,通过双击需要切换的场景文件,打开即可。
  • 游戏中动态切换场景,可通过loadscene等 API 来实现游戏中动态场景加载及切换。


4、场景资源自动释放

从当前场景切换到下一个场景时,该场景中直接或间接引用到的所有资源,默认都不会主动释放。

如果项目中的场景很多,随着新场景的切换,内存占用就会不断上升。

除了使用 assetManager.releaseAsset 等 API 来精确释放不使用的资源,还可以使用场景的自动释放功能。


设置方法:

双击打开场景文件后,在 层级管理器 选中 scene 节点,即可在 属性检查器 中设置场景是否自动释放。



注意:

启用了场景的资源自动释放后,如果在脚本中保存了对该场景的资源的特殊引用(以全局变量、单例、闭包、“动态资源”等形式进行的引用),则当场景切换后,由于资源已经被释放,这些引用可能会变成非法的,有可能引起渲染异常等问题。

为了解决这个问题,可以使用 Asset.addRef 增加引用计数来锁住这些资源。



相关文章
|
6月前
CocosCreator3.8研究笔记(十三)CocosCreator 音频资源理解(2)
CocosCreator3.8研究笔记(十三)CocosCreator 音频资源理解
|
6月前
|
存储
CocosCreator3.8研究笔记(十一)CocosCreator Prefab(预制件)理解
CocosCreator3.8研究笔记(十一)CocosCreator Prefab(预制件)理解
142 0
|
6月前
|
存储 JSON 缓存
CocosCreator3.8研究笔记(十五)CocosCreator 资源管理Asset Bundle
CocosCreator3.8研究笔记(十五)CocosCreator 资源管理Asset Bundle
169 0
|
6月前
|
JavaScript 前端开发 API
CocosCreator3.8研究笔记(五)CocosCreator 脚本说明及使用(下)
CocosCreator3.8研究笔记(五)CocosCreator 脚本说明及使用(下)
|
6月前
|
JSON JavaScript 前端开发
CocosCreator3.8研究笔记(四)CocosCreator 脚本说明及使用(上)
CocosCreator3.8研究笔记(四)CocosCreator 脚本说明及使用(上)
155 0
CocosCreator3.8研究笔记(四)CocosCreator 脚本说明及使用(上)
|
6月前
|
算法 Android开发 Windows
CocosCreator3.8研究笔记(十三)CocosCreator 音频资源理解(1)
CocosCreator3.8研究笔记(十三)CocosCreator 音频资源理解
|
6月前
|
索引 Windows
CocosCreator3.8研究笔记(十二)CocosCreator 字体资源理解
CocosCreator3.8研究笔记(十二)CocosCreator 字体资源理解
120 0
|
6月前
|
开发者
CocosCreator3.8研究笔记(七)CocosCreator 节点和组件的介绍
CocosCreator3.8研究笔记(七)CocosCreator 节点和组件的介绍
|
6月前
|
BI API
CocosCreator3.8研究笔记(八)CocosCreator 节点和组件的使用
CocosCreator3.8研究笔记(八)CocosCreator 节点和组件的使用
104 0
|
6月前
|
缓存 前端开发 算法
CocosCreator3.8研究笔记(十六)CocosCreator 2D对象
CocosCreator3.8研究笔记(十六)CocosCreator 2D对象
123 0