Cocos Creator v1.6.0 内测版发布帖(8月11日更新 rc.1)

请大家使用测试版时一定要注意备份好自己的项目!

Cocos Creator v1.6.0-rc.1 内测版发布:

重点功能

  • 升级了 jsb 引擎到 spidermonkey v52 和绑定层代码,大幅提高安卓平台性能
  • 编辑器预览时采用脚本免编译模式,不管包括多少脚本的项目,都能达到修改代码后秒刷新
  • 导入时缓存 BMFont 的解析结果,大幅提升运行时实例化 bmfont 的速度
  • 更换了 iOS 平台使用的 websocket 库,解决了大部分 iOS 平台特有的断线和连接问题
  • 构建 Web 平台时加入选项用于为输出资源文件名增加 md5 字串,解决客户端无法正确更新缓存资源的问题

改动列表

v1.6.0-rc.1

  • [JSB] Improve setTimeout, setInterval implementation
  • [Engine] 创建新的 Label 渲染对象时,使用对象池而不是 new
  • [Properties] 修复 Properties 查询超时后,面板停止了 node 的状态更新,直到重新点击 node 后,才重新启动更新的问题
  • [Engine] 修复原生平台上使用 LabelOutline 时退出游戏会导致崩溃的问题
  • [Properties] 修复多选部分组件时会出现 removeAttributes 报错的问题

v1.6.0-beta.6.2

  • [Editor] 修复 require 相对路径下的脚本时无法成功加载的问题

v1.6.0-beta.6.1

  • [Engine] 修复一个 component 有多个 schedule 的时候 unschedule 可能出错
  • [Engine] 修复 XMLHttpRequest timeout 无法设置的问题
  • [Engine] 修复粒子和拖尾效果的 z 值不正确的问题
  • [Tiledmap] 添加到 camera 上的时候,退出场景时,camera 无法清除 Tiledmap 的 sgNode
  • [Tiledmap] 开启 DepthTest 让 tiledmap Z 轴生效
  • [Store] 改进扩展商店体验
    • 修复重复下载文件的时候出现报错的问题
    • 加快删除文件夹的速度(之前用 Utils.remove 每个文件删除的时候都有延迟,只有删除 watch 的文件夹需要用)
    • 安装失败后,提示复制到某个文件夹后,自动打开这个文件夹
    • 把 Editor.error 统一换成 Editor.warn
    • 增加安装完成后的提示
    • 统一整理了一下错误的打印消息,出现错误的时候,都会显示一个 warn
    • 允许同时安装多个插件
  • [Editor] 修复编辑器里脚本文件加载顺序不固定的问题
  • [Preferences] 为偏好设置面板添加 tooltip
  • [VideoPlayer] 修复 VideoPlayer 在构建的时候执行 md5 cache 后,找不到资源的问题
  • [Audio] 修复 Audio DOM 模式在构建的时候执行 md5 cache 后,找不到资源的问题
  • [Build] md5 cache 在转换 key 的时候,需要排除 ? 后面的参数以及无用信息
  • [Engine] 只有在预览和调试模式下才获取 webgl 错误,减少发布版的性能损耗
  • [Engine] 修复 color.fromHEX 输出的颜色值不正确的问题

v1.6.0-beta.5

  • [BMFont] 修复在原本使用位图字体的组件上点击 useSystemFont 导致会出现 2 个 Label 的问题
  • [Engine] 修复 cc.game.restart 会导致 Web 平台崩溃的问题
  • [Build] 修复构建非调试版本时 settings.js 未被压缩的问题
  • [Audio] [Breaking] 修复 audioEngine.stop 会触发 finish 事件回调的问题,现在 setFinishCallback 设置的 callback 只有在自然播放结束的时候
  • [Properties] 修复在组件的脚本资源栏上点击无法跳转到脚本资源所在位置的问题
  • [Editor] 修复切换场景编辑模式时可能出现 Possible EventEmitter memory leak detected 的报错问题
  • [Spine] 修复 Spine 原生平台上使用 addAnimation 后动画可能无法正确播放的问题
  • [Engine] 升级了引擎编译时使用 gulp-uglify 版本,如果用了自己定制的引擎,需要同步引擎 repo 的 package.json 并重新安装最新依赖。
  • [Build] 修复构建项目时,粒子系统的 plist 所在目录下的所有贴图会被强制导出的问题。修复构建项目后粒子 plist 里引用的资源 uuid 和压缩后的 uuid 不符。
  • [Engine] 修复 tint action 同时改变了 alpha,导致从 sgNode 同步 color 到 Node 过程中传递的 color.a 不等于 255 而报错的问题
  • [Physics] 默认关闭添加 polygon collider 时就自动识别图片生成顶点,如果用户需要,可以通过点击按钮来生成顶点
  • [Particle] 修复 endColorVar 属性显示丢失的问题
  • [Properties] 修复 Script 内数据结构内继续嵌套 array 之后无法显示的问题
  • [Build] 修复构建时添加 md5 cache 导致部分组件无法正确获取资源引用的问题
  • [Build] 修复构建 Android 时每次都会重新编译的问题
  • [Tilemap] 修复 Tilemap 不能正确被 camera culling 的问题
  • [Action] 修复当 callFunc 的 target 为 null or undefined 时,jsb::Object 仍然会去 bind proxy 导致报错的问题
  • [Animation] 优化帧动画性能
  • [Store] 改进扩展商店下载体验,增加了安装失败和解压失败的时候的提示,使用扩展包名作为下载压缩包的文件名。
  • [Store] 插件商店产品描述支持 markdown 格式

v1.6.0-beta.4

  • [Engine] 修复 jsb 不兼容 TypeScript 里的 promise 用法问题
  • [BMFont] 改进具有多张贴图的 BMFont 资源,在索引贴图时可能出现路径太长出错的问题
  • [Label] 改进 TTF 字体的创建效率
  • [AssetDB] 修复 jpg 格式的贴图资源无法被删除或改名的问题
  • [Particle] 修复当粒子的 file 为 null 的时候无法导出资源的 bug
  • [Editor] 修复项目中脚本过多时会出现 too many open files 的问题
  • [Editor] 修复编辑器中无法通过 url 加载资源依赖的 raw asset 的问题,修复编辑器无法正确加载 TSX 资源的问题
  • [Engine] 修复 cc.game.restart() 调用会导致崩溃的问题
  • [Engine] 预览游戏切换场景时增加更多调试信息,包括场景资源 uuid 和初始化每一步骤所用的时间
  • [Physics] 修复使用 Joint 时由于调用 destroy 方法导致的崩溃问题
  • [Audio] 修复设置音量为 0 时无效的问题
  • [Editor] 修复创建 ToggleGroup 时报错的问题
  • [Physics] 为 PhysicsManager 添加 enabledAccumulator 选项,用于提供固定时间的物理更新
  • [Engine] 修复编辑器里加载粒子资源时报错的问题

v1.6.0-beta.3

  • [Build] 修复 TTF label 在使用 md5 cache 无法正确下载资源与加载字体的 bug
  • [Engine] 修复带基本数据类型参数的 callFunc 创建崩溃
  • [Engine] Fix DebugInfos not included in jsb issue
  • [Engine] Fix director event before update missing issue (user reported issue)
  • [Engine] Increase default max batch vertex count (improvement)
  • [Animation] 修复修改 sample 属性时报错的问题
  • [Editor] 修复选中编辑 plist 中的 spriteFrame 时可能 Sprite Editor 窗口会卡死的问题
  • [Properties] 修复 event-prop 无法指定 tooltip 的问题

v1.6.0-beta.2

  • [Properties] 允许多选节点后在属性检查器里批量修改属性
  • [Spine] 支持 Spine 多骨骼之间的批处理渲染
  • [Component] 增加 cc.BlockInputEvents 组件便于遮挡 UI 事件
  • [Action] 解决 ActionManager 在 update 过程中删除 action 导致的报错,包括:salvaged 状态去除之后,没有对正在执行(可能被移除)的 action 做保护;action 被移除后(放入对象池)可能会立即被复用,导致 ActionManager 中的状态问题。
  • [Build] 修复较低版本 Xcode 在编译 iOS/Mac 工程时可能遇到的 undefined symbol: NSStreamNetworkServiceTypeCallSignaling 编译失败问题
  • [Tiledmap] 修复原生平台上 TiledMap 在使用 getPropertiesForGID 时,如果该图块没有设置 Custom Propertie 时会报错的问题
  • [Editor] 修复 Windows 上编辑器运行路径和项目路径不在同一个驱动器时加载脚本路径错误的问题
  • [Editor] 修复 require 第三方库时的报错 can not find module for path : undefined
  • [Audio] 修复多条音轨同时播放并频繁调用 _play2d(AudioCache *cache, int audioID) 时的崩溃问题。
  • [Engine] 修复使用 evalstring 调用的方法返回类型为 void 时会出错的问题
  • [Engine] 修复 Spidermonkey v52 在 iOS 模拟器上创建 TypedArray 崩溃的问题
  • [Editor] 修复场景保存时仍有 “Cannot read property ‘_prefab’ of null” 的报错
  • [Properties] 修复组件属性由数组类型改回普通类型时,属性检查器不会自动重置和刷新的问题
  • [Properties] 修复属性检查器上预览 Markdown 文件出错的问题
  • [Build] 修复 windows 平台上构建 web 时使用 md5 cache 报错的问题。
  • [Editor] 禁止弹出和关闭部分核心面板,包括场景编辑器、资源管理器和节点树。
  • [Editor] 修复 TS 脚本在重命名后,旧的不会删掉导致脚本名称重复的问题。
  • [Component] 修复在包含渲染组件的节点上添加 SpriteDistortion 组件时的报错
  • [Editor] 修复 property 装饰器在新版 VSCode 中的报错
  • [Engine] 统一 scheduler 在 web 和原生的参数签名,必须使用6个参数或4个参数才能正确工作。
  • [Audio] 修复某些版本的 IE 11 在 audio 没加载完成的情况下,设置 currentTime 会报错的问题
  • [Engine] 修复 Mask 的节点 setContentSize 无效果的问题
  • [Editor] 修复导出场景资源时引用量过大可能导致卡死的问题
  • [Engine] Fix potential crash after WebSocket.close and send onclose event after onerror is received
  • [TypeScript] 升级内置 typescript 编译器到 2.4 版本
  • [Build] 修复某些项目会在 build-raw-assets 时卡住不动的问题
  • [Audio] 修复 AudioSource 初始化时加载声音操作可能造成声音播放停止的问题

v1.6.0-beta.1

  • [Editor] 加入预览游戏时免编译脚本的模式,免编译模式下 VSCode 的调试配置需要通过开发者菜单更新
  • [Editor] 移除内置代码编辑器,默认双击文本文件时会使用系统默认的应用打开
  • [Engine] 添加 Node.insertChild 接口,用于插入节点到某一层级下特定位置。
  • [Engine] 修复 loadResDir 加载好的资源排序不稳定的问题
  • [Engine] 修复 Mask 的 IMAGE_STENCIL 模式在场景勾选延迟加载资源时失效
  • [Engine] 支持在项目中使用 CC_BUILD 和 CC_DEBUG 预编译宏
  • [Build] 构建 Web 端时加入插入 eruda 的选项
  • [Engine] 移除引擎裁剪后残留在包体中的 ZipUtils 和 TiledMap 有关模块(减小核心包大小)
  • [Build] 构建时压缩和合并资源 uuid,以优化 settings.js 资源索引文件的体积。
  • [Label] 优化 BMFont 解析速度,目前 BMFont 的解析直接在编辑器导入的时候就完成了,不需要运行时解析。
  • [Label] 拆分 setFontFileOrFamilysetFontFamilysetFontAsset
  • [Engine] 为 SGLabel 增加对象池,减少内存开销,提升反序列化效率。
  • [Engine] 使用 SocketRocket 第三方库代替原来 iOS 上的 WebSocket 实现
    • The API of SocketRocket is easy for use, it’s all asynchronous API.
    • No need to deal with thread communications, it’s wrapped inside SocketRocket.
    • Network status change will not make connection closed, it just seems there isn’t any status change.
    • Locking screen will trigger an error while libwebsockets or bsd socket will not.
    • Don’t depend on openssl library which is a little big.
    • Don’t need to use a local CA root certificate (curl ca file is over 2MB) for wss connection
    • Don’t trigger signal pipe while closing wss connection
    • Easy to integrate SocketRocket to current WebSocket implementation
  • [AnySDK] 支持构建时动态添加 AnySDK 依赖,默认构建的工程不包含 AnySDK 代码。
  • [PageView] 添加新属性 pageTurningSpeed
  • [RichText] 修复禁用 RichText 组件或节点时没有反注册点击事件的问题
  • [ProjectSettings] 引擎模块选择界面增加全选选项
  • [Render] 默认关闭脏矩形渲染优化,可以通过设置 cc.renderer.enableDirtyRegion(true) 来开启。
  • [Build] 在 web 构建面板上面添加 md5Cache 选项,为资源文件名增加 md5 编码,用于正确更新客户端资源缓存。

相关讨论请回复到本帖下,谢谢大家!

7赞

老婆 快来看上帝

2赞

666666666:joy:

有时间试下~~~

不知道,修改九宫格那个卡死的问题,这个版本解决没有

使用后控制 台还是显示 1.5.0

然后页面打开报错,ts 里一个require 的一个包报错,模块里 this 没有了

Uncaught TypeError: Cannot set property 'Protocol' of undefined

好激动,免编译出来了

手贱了 一上来就报错

protocol.js:370 Uncaught TypeError: Cannot set property ‘Protocol’ of undefined
at protocol.js:370
at __define (protocol.js:372)
at Object.func (protocol.js:380)
at cc.require (boot.js:354)
at __define (index.js:1)
at Object.func (index.js:9)
at cc.require (boot.js:354)
at __define (index.js:4)
at Object.func (index.js:20)
at cc.require (boot.js:354)

顶!!!!

CC_BUILD 是用于 JS 端的?

你们的 RocketSocket 给个 GitHub 的地址呗,star 一下

直接1.6测试版本出来了。。。我能说什么呢

creator越来越好了

放大招了,一次性满足所有的期望,我们游戏就锁定在这个版本了

2赞

git上好像还没有1.6的分支,要不要创建一个呢?

1.5.2正式版本跑哪去了?

刚试了下,还是没有解决。。。

不错 ios网络问题解决了 顶顶顶!!!

1.4修改一次要编译半分多钟,1.5.2七八秒,1.6只要1秒,用起来顺心多了

特来反馈一下性能的改进,测了一个压缩库,数据如下:

压缩库: SnappyJS
操作: 解压缩
数据大小:5884
解压次数:1000

真给力啊,已经和浏览器一个量级了

5赞

2017-07-13 20:56:32.308456+0800 appTempleateGame-mobile[1828:388998] Websocket Connected
(lldb)
iOS. websocket报错