Cocos Creator v1.5.1 发布
2017.06.19 by cocos
版本更新

这个版本我们修复了大量用户反馈的问题,其中影响较大的重要问题包括:

1. 改善了资源加载时的回调机制,原生和 Web 加载场景时速度可提高 2~3 倍

我们发现在加载场景资源时,下载进程可能会出现不必要的异步等待,在 1.5.1 里我们修复了这一问题,并且使得资源加载速度相比 1.4 版本更加快速。下面的图表是新版本在某实际原生项目中的加载表现。

downloader

2. 在 iOS 平台关闭 openssl 库中的 async 功能,避免苹果商店由于程序使用了 (setcontext, getcontext, makecontext) 等接口而遭拒。

近期苹果商店审查时对于 API 使用的要求越来越严格了,我们也会持续关注苹果审核标准,并从引擎层面解决可能存在的 API 使用问题。

3. 增加构建选项 “合并图集中的 SpriteFrame”,默认不勾选,解决 1.5.0 构建原生平台时载入游戏速度可能变慢的问题。

1.5.0 中我们会默认合并图集中的 SpriteFrame,这样会导致当资源量很大时产生需要很长时间解析的资源描述文件,如果用户对于资源请求数量要求不高,但希望首屏能够快速加载时,可以取消这一选项。

build

完整改动列表

编辑器

- [Build] 修复构建原生平台时出现的 inlineSpriteFrames 警告,为原生平台增加内联 spriteFrame 资源的功能

- [Build] 增加构建选项 “合并图集中的 SpriteFrame”,默认不勾选,解决 1.5.0 构建原生平台时载入游戏速度可能变慢的问题

- [Build] 避免原生平台构建时可能出现`合并初始场景`的警告

- [Build] 修复预览时可能获取不到场景名的问题

- [Editor] 修复项目中存在空 js 或 ts 文件时编译会报 `Path must be a string` 错误的问题

- [Editor] 修复 windows 平台上生成 TypeScript sourcemap 错误导致无法调试的问题

- [Editor] 修复新建脚本时报错 `TypeError: Cannot read property ‘startsWith’ of null` 的问题

- [Editor] 修复在资源管理器的 assets 文件夹右键菜单中执行“前往 Library 中的资源”会报错的问题

- [Editor] 修复内置代码编辑器引起的 `TypeError: Path must be a string. Received undefined` 和 `TypeError: cannot read property '_uuid' of null` 报错问题

- [Editor] 修复由剪裁掉场景中正在使用的功能模块导致 `component._destroyImmediate is not a function` 报错的问题

- [Editor] 修复资源管理器里选择文件夹并选择 「还原上次保存的资源」时报错的问题

- [Editor] 修复勾选场景的 「自动释放资源」/ 「延迟加载资源」出现报错的问题

- [Simulator] 修复手动编译模拟器时 libcurl 第三方库无法找到的问题

引擎

- [Engine] 在 iOS 平台关闭 openssl 库中的 async 功能,避免苹果商店由于程序使用了 (setcontext, getcontext, makecontext) 等接口而遭拒

- [Engine] 修复 XMLHTTP 接口引起的内存泄露问题

- [Engine] 修复 Android 上播放声音完成或 stop 后不能及时清除音轨导致超限的问题

- [Engine] 优化插入节点时对子节点设置 cascadeColor 和 cascadeOpacity 的流程

- [Engine] 修复修改 `getContentSize` 返回的对象时会影响节点尺寸的问题

- [Engine] 修复重新激活节点时,节点脚本上的 onLoad 可能不会执行的问题

- [Engine] 修复原生平台 loader 递归加载依赖资源时有可能栈溢出的问题

- [Engine] 修复使用 for...in 语法会导致项目无法运行的问题

- [Engine] 修复使用 scheduler 的时候如果 target 没有 instanceId / uuid 时,运行时会报错的问题

- [Engine] 修复原生平台上 Sprite 和 Graphics 无法使用 culling 的问题

- [Engine] 改善 cc.loader,支持同步下载进程,解决 Web 端加载资源时可能会等待过长时间的问题

- [Engine] 添加 __instanceId 避免调用 scheduleUpdate 时得到的 targetId 是 undefined

- [Engine] 修复 SpriteFrame 在载入贴图的同时强制释放引起报错的问题

- [Engine] 修复 Web上面加载 ttf 字体会触发 scheduler 断言的问题

- [Engine] 修复部分新增功能模块的代码无法完全从项目模块设置中剔除,导致空包包体变大的问题

- [Engine] 修复特殊情况下实例化 Prefab 引起的报错

- [Engine] 修复原生平台上创建 cc.RenderTexture 会报参数数目错误的问题

- [Engine] 修复原生平台上 clone SpriteFrame 会引起报错的 bug

组件

- [Label] 在 windows 平台上增加当单词过长时转化为按字换行的模式

- [Label] 增加针对大字符集的换行判断,修复小语种字符设置自动换行时不生效的问题

- [Animation] 修复叠加播放多个动画时,动画结束的状态会互相影响的问题

- [Animation] 修复切换布局后新建和添加 AnimationClip 会引起报错的问题

- [Button] 修复当绑定两个事件回调并传入定制参数时,有一个回调的定制参数不正确的问题

- [Particle] 修复更改粒子所在节点父节点的 scale 时,粒子变换不正确的问题

- [EditBox] 修复运行时切换 parent 节点时的报错问题

- [EditBox] 修复在桌面平台的窗口有Zoom的时候,显示大小和位置不正确的问题

- [Physics] 修复节点上有 cc.BoxCollider 组件时对节点缩放报错的问题

- [ProgressBar] 当显示模式设为 FILLED 时,将 totalLength 强制设为 1,避免 UI 显示异常

- [ProgressBar] 当该组件的显示模式和对应 barSprite 显示模式不匹配时,提供更准确的警告

- [ScrollView] 调整修复以下问题:开始自动滚动的时候,scrolling 事件没有发出;scroll-ended 发出来以后,scrollview 还会向前滚动一小段距离。

下载地址

http://cocos2d-x.org/filedown/CocosCreator_v1.5.1_win

http://cocos2d-x.org/filedown/CocosCreator_v1.5.1_mac