为了提升开发者的开发效率,Creator 始终在努力着。
Cocos Creator v2.3.2 版本正式发布了!本次更新除了常规的缺陷修复和体验完善之外,还接入了全新的 Cocos Dashboard 系统,能够同时对多版本引擎和项目进行统一升级和管理,建议所有 2.3 版本的开发者升级。
以下是 Cocos Creator v2.3.2 完整更新说明。
重点更新
Cocos Dashboard
此次推出的 Cocos Dashboard,将作为 Creator 和 Creator 3D 两个引擎统一的下载器和启动入口,方便大家升级和管理多个版本的 Creator。此外还集成了统一的项目管理及创建面板,方便大家同时使用不同版本的引擎开发项目。
Creator 3D 引擎将从 v1.1 开始集成 Cocos Dashboard。
管理不同版本下开发的项目。
新建项目时可以选择使用不同的 Creator 版本。
Bug Fixes
- [Editor] 修复当相关图片不存在时,TiledMap 资源导入卡住的问题
- [Core] 修复 3D 粒子面片朝向不正确的问题 [#6304]
- [Core] 修复版本升级后 MeshRenderer 的 textures 属性失效的问题 [#6311]
- [Core] 修复在场景初始化时,Canvas 所在节点的尺寸可能未及时刷新的问题 [#6308]
- [原生] 修复原生上图片偶尔出现白块的问题 [#2258]
- [原生] 修复原生平台 3D 模型渲染组件内存可能不释放的问题 [#2262]
- [小游戏] 修复支付宝小游戏上,同时加载大量音频失败的问题 [#97]
KNOWN ISSUE
- 目前在 2.3.2 中导入 Cocos Studio 项目时会出现报错,此问题将在 2.3.3 版本修复。开发者如有需要的话可以临时先在旧版本编辑器中导入项目,然后再升级到 2.3.2 版本进行使用,或者使用自定义引擎并合入此改动 [#6278]
DEPRECATION
- 从 2.2.0 开始,我们不再建议您使用节点的 Skew 功能。Skew 通常用作在 2D 引擎中模拟 3D 效果,随着 Cocos Creator 对 3D 节点的深入支持,Skew 效果已经完全可以由 3D 节点来实现。所以为了统一使用体验,进一步优化引擎底层实现,我们废弃了 Skew 属性。不过我们依旧会保留一段时间内的向下兼容,开发者可在旧项目中延续原有做法。后续我们将进一步完善兼容方式和升级案例,择机正式移除 Skew 功能。
升级提示
从 < 2.3.0 版本升级
如果预览时出现加载警告 “Can not find module.module for path…”
这个警告可能是因为升级到 2.3 后,对脚本 import/require 的路径大小写检测变严格了。在旧版本中,如果路径的大小写和实际文件不符,可能会有潜在的一些错误隐患,但不一定会表现出来。我们建议遇到这个问题的项目对相应大小写进行修正。
从 2.3.0 开始,定制安卓原生工程时,需注意 Android 与 Android Instant 使用了同一个构建模板。
- 如果是 Android 平台单独使用的代码请放入 app/src 目录, 单独使用的第三方库请放入 app/libs 目录。
- 如果是 Android Instant 单独使用的代码和第三方库请分别放入 game/src , game/libs 目录。
- 如果是 Android 和 Android Instant 共用的代码和第三方库,请分别放入 proj.android-studio 根目录底下的 src 目录和 libs 目录。
- proj.android-studio 根目录底下 jni/CocosAndroid.mk , jni/ CocosApplication.mk,主要用于配置引擎相关的配置,开发者的配置,建议 Android 放到 app/jni/Android.mk 和 app/jni/Application.mk中,Android Instant 请放入 game/jni/Android.mk 和 game/jni/Application.mk 中。
此外,在 Cocos Creator 编译 Android 时会默认执行 assembleRelease/Debug,编译 Android Instant 时会执行 in stant:assembleRelease/Debug。
如自定义了音频前后台切换时的暂停逻辑,升级到 2.3.0 后请移除。
目前 Creator 游戏在所有平台上前后台互相切换时,都会在内部自动暂停和恢复音频。如果开发者之前有对这一块进行过定制,监听并执行了 cc.audioEngine.pause()/resume() 之类的音频操作,可能会和引擎默认行为冲突。如果有遇到相关的音频问题,只需移除相应的定制代码即可。
从 2.0 - 2.3.0 版本升级
(纯告知,无风险)从 2.3.0 开始,Canvas 组件不再负责将 Canvas 节点尺寸设为屏幕大小,此行为将结合 Widget 组件实现。为保证兼容性,2.0 项目升级后,Canvas 所在节点会自动添加 Widget 组件。(从 1.x 项目升级无此问题)
从 < 2.2.0 版本升级
从 2.2.0 开始,我们强化了内存管理机制,现在要求用户通过代码动态创建且独立于场景节点树的 cc.Node 必须通过 destroy() 释放,否则引擎无法知道何时回收这类节点的内存,会导致内存泄露。
- 如原先手动从场景中移除的节点,在不需要用到的时候也需要统一 destroy():
// 假设 testNode 是场景中的某个节点,若之前被手动移出场景了,如testNode.parent = null;// 或者testNode.removeFromParent(true);// 或者parentNode.removeChild(testNode);// 若往后 testNode 还会再次用到,则无需手动 destroy 该节点// 否则应该手动调用testNode.destroy();
- 如原先通过 cc.NodePool 管理节点,则不受影响。
从 < 2.0 版本升级
打开 1.x 项目的话,场景等所有资源将会自动升级,代码如有警告或报错,可参考[1.10.0 资源升级指南]和[2.0.0 升级文档]进行调整。
以上就是此次更新的详细内容, 也欢迎小伙伴们继续通过 留言评论、论坛、GitHub、Cocos 企业服务 等渠道向我们提交使用反馈哦 。