查看原文
其他

Cocos Creator 2.1.3 正式发布

Jare COCOS 2022-06-10

自 Cocos Creator 2.1.0 发布以来,经过半年时间更新迭代,版本现已趋于稳定,目前 2.1 的新增用户已经占据主流。因此我们计划减少 2.0 版本的后续维护力度,将分散的精力集中投入到引擎后续的发展中,力争将 Cocos Creator 打造成更加专注、开放、健康的开源平台。



本次更新的 v2.1.3 版本,旨在优化体验和修复缺陷,建议所有开发中的 v2.0、v2.1 项目升级。


[参考链接]可点击[阅读原文]进入下载页查看

详细改动说明如下


What's New


支持 iOS 13


为了支持即将发布的 iOS 13 操作系统,我们将 iOS 原生平台上的 VideoPlayer 底层实现由 MPMoviePlayerController 替换为了 AVPlayerContoller [#1831],同时将 WebView 底层由 UIWebView 替换为了 WKWebView [#1837]。


支持 vivo 小游戏分包加载


随着小游戏的玩法越来越丰富,开发者对于扩大包大小的需求越来越强烈,所以 vivo 小游戏提供了分包加载这一功能。所谓的分包加载,就是把游戏内容按一定规则拆分为几个包,在首次启动时先下载必要的包,这个必要的包我们称为「主包」,开发者可以在主包内触发其它分包的下载,从而把首次启动的下载耗时分散到游戏运行中。详细说明请参考[分包加载]。


Release Notes


Improvements


  • 为组件的 onLoad, start, update, lateUpdate 函数添加容错,更好地应对用户脚本抛出的异常[#4941]

  • 在编辑器中预览粒子时,将同步播放当前节点下的子节点中的粒子,方便美术查看效果

  • 完善拖动资源到场景中进行创建的行为

  • 在属性检查器中添加图片是否可以动态合图的选项 Packable,用于解决自定义 shader 获取不到原始 UV 的问题,详见[Texture:packable]

  • 允许在资源编辑器中双击打开 json 资源

  • 导入 plist 图集时默认将贴图类型设为 RAW

  • 在属性检查器中增加 Vec4 类型支持

  • 改善部分 creator.d.ts 类型提示

  • 优化 Label 的 SHRINK 动态布局,同时支持了 CHAR 模式[#5223]

  • 避免多次调用 Texture2D.update 时的性能开销[#5198]

  • 在 Android 上将 V8 升级到了 7.5

  • VideoPlayer 适配到了微信小游戏


Editor


  • 修复从 v2.0 升级上来后,AnimationClip 中的旋转数据会丢失的问题

  • 修复从 v2.0 升级上来后,场景和 Prefab 中的节点在特定角度下的旋转值会丢失的问题

  • 修复某些机器上打开项目一直停在“正在导入资源,请稍候”界面的问题

  • 修复项目构建后压缩纹理可能会缺失的问题(感谢 xu.lidong

  • 修复压缩纹理配置 Quality 为 100,打包无法输出图片文件的问题

  • 修复脚本移动或重命名后可能会报错的问题

  • 修复动画编辑器设置节点 z 值无效的问题

  • 优化了 动画编辑器 在组件、资源等状态发生变化时的错误处理

  • 修复场景编辑器中 gizmo 位置不对的问题

  • 修复节点旋转无法 undo 的问题

  • 修复属性检查器设置 Camera 的 Rect 无效的问题 [#5294]

  • 修复某些情况下场景或 Prefab 数据出错后,场景无法正常打开的问题

  • 修复 RichText 或 Label 组件在编辑器中填入的文本被自动换行后,有可能会在行首生成一个空格的问题

  • 修复层级管理器和资源管理器合并到同一个面板时,内容显示不全的问题


Engine


  • 修复场景延迟加载资源会导致 3D 模型无法显示的问题[#5071]

  • 修复某些 3D 骨骼动画渲染不全的问题 [#5349]

  • 修复引擎初始化时可能出现 "requestAnimFrame" 相关报错的问题 [#5248]

  • 修复动态合图在特定情况下会导致纹理边缘像素异常的问题(感谢 unace)[#5242]

  • 修复 Animation 的 “stop” 和 “lastframe” 在特定情况下不触发的问题[#5246]

  • 修复加载带有 WebView 的场景,在场景切换后的首帧会屏幕会闪一下的问题[#5106]

  • 修复 Label 文本置空之后仍会显示的问题[#5266] [#5284]

  • 修复带 LabelOutline 组件时,Label 的 Overflow 设为 SHRINK 或 CLAMP,CacheMode 设为 CHAR 的时候,节点的尺寸不正确的问题[#5145]

  • 修复 RichText 文本自动换行后可能会丢失空格符的问题[#5116]

  • 修复 Sprite 组件不支持 MESH 模式的问题[#5195]

  • 修复 ScrollView、PageView 启用惯性回弹(elastic)后可能在滑动超出边界后无法回弹的问题[#4894]

  • 修复 ScrollView 的 ScrollBar 异常显示的问题[#5249]

  • 修复 Layout scale 小于 1 的时候效果不对的问题[#5074]

  • 修复 PhysicsCollider 组件所在节点在运行时修改 node 的 group 属性可能会报错的问题(感谢 HengHuH)[#4949]

  • 修复引擎内置资源有可能被用户误释放的问题[#4915]

  • 修复大量渲染节点增删时可能导致内存泄露的问题[#5025]

  • 修复调用 node 的 targetOff 方法可能无效的问题[#5052]

  • 修复同时播放的 audio 实例超过 32 后,audio 实例有可能被错误销毁的问题[#5097]

  • 修复粒子在 Free 模式下坐标计算错误的问题[#5320]


Native


  • 修复原生平台上的 Label 内存泄露问题[#1783] [#1786]

  • 修复在 Android 部分机型上,EditBox 字体默认为白色的问题[#1778]

  • 修复在 Mac 和 Windows 上,当 EditBox 处于输入状态字符重叠的问题[#146]

  • 修复 iOS 上 EditBox 输入 emoji 时可能会导致崩溃的问题[#1798]

  • 修复原生平台上 Canvas 适配模式为 SHOW_ALL 时,EditBox 输入框位置异常的问题 [#162]

  • 修复 Android 上在通知中心显示时锁屏,音频不会暂停的问题[#1788]

  • 修复 Android 上屏幕亮屏时,程序如果在后台仍会播放音频的问题[#1785]

  • 修复原生平台从后台切前台会自动播放已暂停音频的问题[#145]

  • 修复在原生平台上修改 Spine/DragonBones 材质时,节点位置出错的问题[#148]

  • 修复在原生平台上 Spine/DragonBones 的 opacity 第一帧不正确的问题[#148]

  • 修复 VideoPlayer 在 iOS 上全屏后无法返回的问题[#1800]

  • 修复 VideoPlayer 在 Android 上播放时锁屏再进入会卡死的问题[#1811]

  • 修复 cc.sys.languageCode 在 Android 上无法获取完整语言地区码的问[#1784]

  • 修复在 Mac 平台,插件脚本初始化时调用 cc.game.setFrameRate() 失败的问题[#5261]


Web


  • 完善对 IE11 的支持(Improve support for IE11)[#5033]

  • 修复在 Edge 浏览器上点击 EditBox 的清除按钮(浏览器自带的),不会触发 input 事件的问题[#5088]

  • 修复 EditBox 在输入过程中文本大小未能随 Node 进行缩放的问题[#5088]

  • 修复 Edge 和百度浏览器上不能播放音频的问题[#4910]

  • 修复桌面端 Chrome 和 Safari 上音频可能无法播放的问题[#4991]

  • 修复桌面端 UC 浏览器播放 WebAudio 会报错的问题[#5048]

  • 修复游戏运行于 Crosswalk 时 音频 调用 setTargetAtTime 产生的报错[#5281]


Mini Game


  • 修复小游戏开放域中的图集不支持旋转的问题[#4325]

  • 修复在 OPPO、vivo、华为、即刻玩平台上文本下方可能被裁剪掉的问题 [#5303]

  • 升级了小米快游戏构建程序,修复了找不到 pem 资源的问题 [#22]


DEPRECATIONS


  • 废弃了 Node 上的 convertToWorldSpace 函数,请改用 convertToWorldSpaceAR

  • 废弃了 Node 上的 convertToNodeSpace 函数,请改用 convertToNodeSpaceAR

  • 完善摄像机的坐标转换 API

  • getCameraToWorldPoint 改为 getScreenToWorldPoint 并且支持 3D Camera
  • getWorldToCameraPoint 改为 getWorldToScreenPoint 并且支持 3D Camera
  • getCameraToWorldMatrix 改为 getScreenToWorldMatrix2D,只支持 2D Camera
  • getWorldToCameraMatrix 改为 getWorldToScreenMatrix2D,只支持 2D Camera


BREAKING CHANGES


  • 标准化小米快游戏重力感应返回的数值,和其它平台的返回值保持一致。此版本返回的值相比旧版本将会除以 10。

  • 移除了 Texture2D 上的 setMipmap 接口,请改为直接设置 genMipmaps 属性


以上就是 Cocos Creator v2.1.3 的更新内容!点击「阅读原文」可前往 Cocos 官网下载更新。


更多精彩


自 v2.0.0 用 3D 渲染器重写底层至今,经过多个版本的稳步迭代,Cocos Creator 终于进化成了一款能无损兼顾纯 2D 和 3D 两种项目类型的游戏引擎。将来 Cocos Creator 仍会秉承“2D 优先”的理念,继续死磕 2D 游戏开发体验及基础性能,逐步引入那些适合融入 2D 游戏的 3D 特性,陪伴 2D 游戏团队共同成长。


在产品体验过程中如有遇到技术问题,欢迎各位开发者移步至 Cocos 技术社区反馈交流噢!也欢迎大家报名参加本周六 Cocos 在深圳举办的技术分享会,一起线下交流!


活动报名地址:http://hdxu.cn/6aHXL

中文社区地址:http://forum.cocos.com/

英文社区地址:https://discuss.cocos2d-x.org/


Cocos 荣耀讲师征稿活动正在火热进行,戳这里了解详情!如果你在工作和学习 Cocos Creator 过程中,获得了独到的开发心得、见解或是方法,并且乐于分享出来,帮助更多开发者解决技术问题,加速游戏开发效率,期待您为“Cocos 荣耀讲师”活动投稿。




引擎最新技术揭秘,就在 Cocos 深圳开发分享会!

Cocos 荣耀讲师征集计划

微信创意小游戏橙皮书发布

用 Cocos Creator 制作平台跳跃游戏

Cocos技术派|3D小游戏《快上车》技术分享

Cocos海外开发者专访:遗憾的是没早点开始做游戏

我的小游戏开发之路|腾讯TGideas周桂华(花叔)

Cocos Creator 实现左右跳游戏

用 Cocos Creator 快速制作打地鼠游戏

Gameloft 如何打造 Facebook 小游戏玩转越南市场

Cocos Creator 零基础入门教程 | 免费



我就知道你“在看”

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存