Cocos Creator v2.4.2 更新说明,解锁字节平台!
2020.07.30 by Cocos
Cocos Creator 版本更新

继上周发布了 v2.4.1 之后,Cocos Creator v2.4.2 为大家带来呼声已久的字节小游戏平台支持!手握庞大流量和强势渠道,相信将为开发者带来更多的机会,我们也期待字节小游戏上爆发出更多优秀的产品!


我们建议需要发布字节小游戏的开发者将引擎升级到最新版本,以获得最佳的使用体验。

What’s new

字节小游戏

字节小游戏基于字节跳动全产品矩阵开发,包含 今日头条抖音 及 今日头条极速版,是不需用户进行下载,点开即玩的全新游戏类型,与图文、视频等场景有着天然的搭配性。字节跳动全产品矩阵以内容分发为核心,通过内容带动小游戏分发,由内容为小游戏带量以及裂变。目前已有十分丰富的应用场景,在自然搜索、feed 流、个人主页、小视频、视频评论区等地方均有流量入口,详细说明可参考《了解小游戏:流量入口概述》。在收入方面,字节小游戏目前已支持广告及内购两种变现方式。

采用 Creator 开发的游戏,只需构建时选择 字节跳动小游戏 发布平台,就可以自动完成适配,获得 Cocos Creator 强大便捷的跨平台能力,享受到最熟悉的开发体验。详细内容请参考 发布到字节小游戏

为了更好地服务字节开发者,我们还在论坛开辟了 字节小游戏专区,请所有开发者统一到此专区或者 Cocos 小秘书中进行技术咨询和反馈。这样我们才可以汇总、整理常见问题,提升服务体验。此外,Cocos 也会跟字节跳动继续合作,争取为开发者输送更丰富的字节小游戏平台能力。

Known issues

  • iOS 设备升级到 iOS 14 beta.3 后,Web 平台暂时会出现无法显示画面的问题,可以自定义引擎,并手动合并此改动 #6974 进行修复。

v2.4.1 已同步解锁字节平台

v2.4.2 和 v2.4.1 在产品功能上完全一致,因此我们也直接为现有 v2.4.1 用户们通过热更新的方式解锁了字节小游戏的发布入口。v2.4.1 用户只需要在网络连通的情况下启动 Cocos Dashboard 1.0.8,再打开编辑器即可。如未成功,请确保 Cocos Dashboard 使用的是最新的 1.0.8,并且完整退出再重开,而不仅是缩小到了托盘中。
此外,好消息再次广而告之一下:v2.4.1 已经支持了华为 AppGallery Connect 平台,并且可以一键接入华为 HMS Core,当前包含账号支付广告游戏等服务,近期还将陆续支持推送分析定位等 SDK。

接下去,Cocos Creator 将与华为进行全方位的合作,特别是在技术层面上,与 CG Kit 底层算法集成,挖掘 Vulkan 极限渲染能力,释放更大的图形渲染性能,提升渲染效率。在产品层面,也将陆续接入华为 HMS CoreAppGallery Connect 更多优质服务,助力开发者开发出更多高品质的游戏。

版本预告

v2.4.3 目前正在论坛公测,此版本除了包含最近支持的华为 AppGallery Connect连尚小游戏字节小游戏平台外,还有一系列重磅升级。如支持 Prefab 嵌套、减小 JSON 包体、优化场景加载表现、支持 Android x86 64 位架构等。欢迎访问 公测交流帖 体验反馈。我们感谢所有的用户反馈,企业服务、Cocos 小秘书服务、论坛讨论及 Beta 交流帖。这些反馈成为了我们梳理开发优先级、制订路线图时的重要依据。

升级提示

Cocos Creator 对项目的升级操作是不可逆的,请在升级前提交或备份旧版项目。绝大多数项目通常都能自动升级,但因为项目难免存在特殊性,开发者应该根据项目自身需求,提前对新版本引擎进行试用和评估。此外,出于稳定性考虑,建议即将上线或已上线的项目谨慎升级。以下是升级说明,如果开发者们在升级中遇到困难,欢迎向我们反馈,我们会尽力协助。

从 < 2.4.0 版本升级

  •  cc.loader 已经不建议使用,请使用最新的 cc.assetManager 来代替,请参考 资源管理模块升级指南 。
  • 子包功能已升级为 Asset Bundle,请参考 资源分包升级指南 。
  • 调整了项目构建后的目录结构,调整了 BuildResults 的 API,如果你使用了编辑器插件获取编辑器构建结果,请参考 定制项目构建流程升级指南 。
  • 从 1.10 开始废弃的 cc.RawAsset 已被正式移除,请使用 cc.Asset 代替。由于 2.4 不再兼容原有 1.x 项目中对 RawAsset 类型的历史遗留用法,建议所有要升级到 2.4 的项目特别是从 1.9 版本一路升级上来的项目,先在任意的 1.10 ~ 2.3 版本中对编辑器编译代码时输出的所有警告或报错都正确处理完毕,再升级到 2.4。
  • cc.Color.fromHex 已被废弃,请使用 cc.Color.fromHEX 接口。

从 < 2.3.3 版本升级

  • Effect 中的 CCTexture2D,CCTexture2DRGB 方法已被废弃,请改用 CCTexture,CCTextureRGB
  • Vec3.FRONT 已被废弃,请改用 Vec3.FORWARD

从 < 2.3.0 版本升级

从 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 时会执行 instant: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.removeSelf 这个 action 销毁节点,请改为使用 cc.destroySelf。
  • 如原先通过 cc.NodePool 管理节点,则不受影响。

从 2.2.0 开始,我们不再建议使用节点的 Skew 功能。Skew 通常用作在 2D 引擎中模拟 3D 效果,随着 Cocos Creator 对 3D 节点的深入支持,Skew 效果已经完全可以由 3D 节点来实现。所以为了统一使用体验,进一步优化引擎底层实现,我们废弃了 Skew 属性。不过我们依旧会保留一段时间内的向下兼容,开发者可在旧项目中延续原有做法。后续我们将进一步完善兼容方式和升级案例,择机正式移除 Skew 功能。

从 < 2.0 版本升级

打开 1.x 项目的话,场景等所有资源将会自动升级,代码中的废弃接口从 2.3.3 开始将会在保持兼容的基础上同步输出报错。升级方式可参考《1.10 资源升级指南》《2.0 升级文档》进行调整。

以上就是本次更新的内容,大家有任何意见或者建议,可以通过论坛等渠道向我们反馈喔!