Cocos Creator v2.3.2 发布了!全新 Launcher 效率飞起!

2020.3.17 产品动态 by Cocos

为了提升开发者的开发效率,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 企业服务 等渠道向我们提交使用反馈哦 。