Cocos Creator 2.1.2 更新说明
I only supplied the URLs for Chinese manual here, English version needs to redirect them to https://docs.cocos2d-x.org/creator/manual/en/.
以下正文,建议包含在官网和 PR 中:
自从 Cocos Creator 2.1.0 发布以来,经过了半年的更新迭代,版本已经趋于稳定,目前 2.1 的新增用户已经占据主流。因此我们计划减少 2.0 版本的后续维护力度,将分散的精力集中投入到后续发展中,力争将 Cocos Creator 打造成更加专注、开放、健康的开源平台。

本次更新的 v2.1.2 版本,不仅包含了常规的体验优化和缺陷修复,还着重优化了纯 2D 项目的包体,以及自动图集的生成尺寸,建议所有 v2.0 开发者升级。同时,该版本也合并了 v2.0.10 的所有改动,支持了小米快游戏即刻玩小游戏这两个全新平台。详细的改动说明如下:

What's New

优化 2D 项目包体

根据之前公开的说明,为了加快迭代速度,我们一直将 v2.1 定位为一个 3D 先行版,所以 v2.1 对纯 2D 项目的照顾是有滞后的。这一点主要体现在对 3D 新增的模块切割得不够干净,导致纯 2D 项目的包中也会加入一些些没用到的代码片段。这并不符合我们的产品理念,所以我们之前还不建议 v2.0 项目全面升级。

此次发布的 v2.1.2 经过细致优化,顺利解决了这个包体问题。现在我们正式推荐所有 v2.0 项目升级到 v2.1.2,从 v2.0 升级上来的项目将默认剔除 3D 模块,确保不会对 2D 项目的包体、性能产生影响。如需增加 3D 支持请手动在"菜单 → 项目 → 项目设置 → 模块设置"中勾选 3D 模块。

支持小米快游戏

Cocos Creator 正式支持发布到小米快游戏,详细用法请查阅《发布到小米快游戏》。

支持即刻玩小游戏

Cocos Creator 正式支持发布到即刻玩小游戏,详细用法请查阅《发布到即刻玩小游戏》。

完善微信小游戏资源加载流程

  • 修复资源可能无法加载成功的问题(感谢 snow_storm 的反馈)[#97]
  • 优化缓存失败时的处理逻辑 [#98]
  • 修复远程图片多次加载失败后后续加载资源无回调的问题 [#96]
  • 避免超大 json 文件解析时引发的崩溃问题(感谢 canghai7789 的反馈)[#101]
  • 调整缓存间隔,降低对游戏帧率的影响 [#97]

编辑器改进

  • 完善自动图集算法,现在无需手动调节 max size 即可生成尺寸最小的图集
  • 完善 Windows 平台对多显示器的支持,现在编辑器启动时会自动检测窗口可见性,确保窗口能正常显示
  • 增加项目升级或降级前的警告信息,防止用户误操作
  • 在自带的范例工程中新增了 DragonBones 和 Spine 的换装 demo [#725]
  • 优化了编辑器对 GPU 设备的兼容性,减少因 WebGL 兼容性导致的误报
  • 改进了 Asset Watcher 机制,如果组件的某个 accessor(getset)的类型定义为资源数组,则当相应资源发生改变时,将会触发 setter 对整个数组进行重新设置

引擎改进

  • 微信小游戏上默认关闭 preserveDrawingBuffer,解决了游戏从后台切到前台会卡顿几秒的问题 [#4537]。(微信小游戏最初发布时必须启用 preserveDrawingBuffer,否则场景切换会黑屏)
  • 改善了 Label 原生平台上的定位准确性 [#4765] [#1764]
  • 优化 BMFont 渲染时的内存占用 [#4651]
  • 允许 Label 设为 BITMAP 模式后对文本再次进行修改(不过仍然不建议这么做,会造成额外的内存和性能开销)
  • Web 平台的 ttf 字体加载失败后的超时时间从 60s 缩短为 3s [#4536]
  • 在 Asset 上新增 url 属性用于获取当前资源的实际 url,开发者可直接调用平台的原生 API 来使用这些 url [#4536]

Bug Fixes

编辑器修复列表

  • 修复构建项目时有可能出现 “Cannot convert undefined or null to object” 报错的问题
  • 修复导入 plist 图集时,部分 Sprite 的 offset 会被取整导致的渲染问题
  • 修复 circle collider 的 gizmo 相关问题
  • 修复 VideoPlayer 和 WebView 在编辑器中显示不正确的问题
  • 修复渲染组件无法保存自定义材质的问题 [#4390]
  • 修复使用命令行编译脚本时的报错
  • 修复动画编辑模式下,场景编辑器不显示动画轨迹的问题
  • 修复第三方插件 reload 后,插件自带的 runtime-resource 无法在资源管理器中显示的问题
  • 修复自动图集中的图片后缀名为大写的 PNG 时项目可能构建失败的问题

引擎修复列表

  • 修复输入事件响应在个别情况下层级错误的问题 [#4522]
  • 修复 3D 节点的 z 设置无效的问题 [#4408]