Cocos Creator v1.4.0 内测版发布帖(2月10日更新 rc.3)

刚刚我保存完又不编译了,我看了一下,library文件夹下没有导入新的js脚本:
WebStorm(在字符串后面加了个号,保存):


Creator自带编辑器(显示出加了个
号,但Creator没反应):

library目录下用Sublime全局搜索Editor.assetdb.queryAssets,搜到的下面三个文件里都没有*号(新的js文件没有被导入):
\library\imports\38\38c4ca1b-29a1-4b0a-8f0e-0e23de09bed9.js

\library\imports\38\38c4ca1b-29a1-4b0a-8f0e-0e23de09bed9.js.map

\library\bundle.project.js

补充两个这个问题的现象:
1 我谷歌node js文件watch与WebStorm的问题时,发现一些模块要求关闭WebStorm的SafeWrite功能。例如Webpack监控文件会偶尔失效:


但我已经在WebStorm里关闭了SafeWrite并重启了WebStorm,但问题仍然存在:

2 Creator好像并不是在IDE切回Creator的时候才一次性导入新js文件,而是每次IDE中保存文件Creator都会导入?经常发生的情况是,我打了多行代码,中间按过几次保存,回到Creator的时候,编译的是中间某次保存的结果。例如有一次打cc.log(123);的时候,在cc.log(123处按了一次保存,打完);的时候又按了一次保存(我确定我按了保存。。),回到Creator提示编译错误,cc.log(123处少了右括号。。。打开内置编辑器,显示的代码始终是对的,按一下Ctrl+S,就编译成功了。

安卓上闪退

11 15:07:57.206 21992 22007 W google-breakpad: 1
01-11 15:07:57.206 21992 22007 W google-breakpad: cc44b2ab-e93c-4e93-9038-0dd354d5b4b4
01-11 15:07:57.206 21992 22007 W google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
01-11 15:07:57.206 21992 22007 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0xf2000000000008 in tid 22007 (GLThread 1641)
01-11 15:07:57.274 651 651 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-11 15:07:57.275 651 651 F DEBUG : Build fingerprint: ‘Xiaomi/gemini/gemini:6.0.1/MXB48T/V8.1.6.0.MAACNDI:user/release-keys’
01-11 15:07:57.275 651 651 F DEBUG : Revision: ‘0’
01-11 15:07:57.275 651 651 F DEBUG : ABI: ‘arm64’
01-11 15:07:57.276 651 651 F DEBUG : pid: 21992, tid: 22007, name: GLThread 1641 >>> com.baiyou.dkd <<<
01-11 15:07:57.276 651 651 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xf2000000000008
01-11 15:07:57.340 651 651 F DEBUG : x0 0000007f4435ea90 x1 0000000076d683c0 x2 0000007f78555617 x3 fff2000000000000
01-11 15:07:57.341 651 651 F DEBUG : x4 0000007f76eacc89 x5 0000007f762fe0a8 x6 0000007f8abbe768 x7 0000007f8abbe770
01-11 15:07:57.342 651 651 F DEBUG : x8 0000007f8abbe778 x9 0000007f8abbe788 x10 0000007f817eadc0 x11 000000000000001b
01-11 15:07:57.343 651 651 F DEBUG : x12 0000007f752ed330 x13 0000007f8f99d000 x14 0000000000000000 x15 0000007f8f98f000
01-11 15:07:57.343 651 651 F DEBUG : x16 0000007f787eb1a8 x17 0000007f8f8d4e64 x18 0000007f8f9a0f50 x19 0000007f8abbe9c0
01-11 15:07:57.344 651 651 F DEBUG : x20 0000007f76efe000 x21 0000007f78786000 x22 fffc007f4435ea90 x23 0000007f762fe0a8
01-11 15:07:57.344 651 651 F DEBUG : x24 0000007f8abbe7a8 x25 0000007f762fe0a0 x26 0000007f8abbe748 x27 000000000001fff8
01-11 15:07:57.344 651 651 F DEBUG : x28 0000000000000000 x29 0000000032d41800 x30 0000007f77e6b6e8
01-11 15:07:57.344 651 651 F DEBUG : sp 0000007f8abbe610 pc 0000007f77d50bb4 pstate 0000000020000000
01-11 15:07:57.356 651 651 F DEBUG :
01-11 15:07:57.356 651 651 F DEBUG : backtrace:
01-11 15:07:57.356 651 651 F DEBUG : #00 pc 000000000072fbb4 /data/app/com.baiyou.dkd-1/lib/arm64/libcocos2djs.so (_ZN2js13ToBooleanSlowEN2JS6HandleINS0_5ValueEEE+92)
01-11 15:07:57.357 651 651 F DEBUG : #01 pc 000000000084a6e4 /data/app/com.baiyou.dkd-1/lib/arm64/libcocos2djs.so
01-11 15:07:57.451 2049 2049 D wpa_supplicant: nl80211: Event message available
01-11 15:07:57.451 2049 2049 D wpa_supplicant: nl80211: Drv Event 34 (NL80211_CMD_NEW_SCAN_RESULTS) received for wlan0
01-11 15:07:57.451 2049 2049 D wpa_supplicant: wlan0: nl80211: New scan results available
01-11 15:07:57.451 2049 2049 D wpa_supplicant: nl80211: Scan probed for SSID ‘TP-LINK_42955C’

发现是在动画的播放过程中,只要有“绘制顺序”的变动,就会出现错误,模拟器不会,浏览器会。残留是指之前的动作的图都留在原地了。

方法 armature.getSlots() 模拟器报错,打包安卓apk运行也报错。

1月11日更新 beta.9
附带大量编辑器扩展文档更新

我觉得我发现了不编译问题的根本原因。。。
我自己写了个监视asset目录的脚本:

// watch.js
var fs = require("fs");
fs.watch("c:/path/to/project/assets/",
    {recursive: true},
    function(eventType, filename) {
        console.log(eventType, filename);
    });

这样我改变代码文件的时候,会打印出事件和文件名:


然后我发现,在保存修改的代码后,只要我在node打印出修改事件之前切回Creator,一定不编译;而在打印出修改事件之后切回Creator,一定编译。所以我之前遇到的不编译的问题,在于我按Ctrl+S后切回Creator速度太快了。其他朋友直接保存JS代码,如果系统不卡的话,速度非常快,切回Creator时基本上已经保存完了;而我使用TypeScript,保存后它需要1~2秒左右才把JS代码保存到assets下,如果在这之前我切回Creator,就不编译了。
为了验证这一问题,我又写了个nodejs脚本,每秒往assets/test.js写一个新数字:

// write.js
var fs = require("fs");
var k = 0, fd;
setInterval(() => {
    fd = fs.openSync("c:/path/to/project/assets/test.js", "w");
    fs.writeSync(fd, k++);
    fs.closeSync(fd);
}, 1000);

运行之后立刻切回Creator,可以在内置编辑器里看到test.js的内容每秒在变化,但是Creator没有动静,不编译。
综上,这个问题的根本原因是,Creator在前台时停止或者不响应js代码的watch事件?

安卓上闪退

插件商店打不开,显示“会话不存在或已过期”:

同上,插件商店打不開,Mac版

jsb: ERROR: File …\auto\jsb_cocos2dx_auto.cpp: Line: 19499, Function: js_cocos2dx_DelayTime_create
js_cocos2dx_DelayTime_create : Error processing arguments
F:/Project/Elona2New/build/jsb-default/frameworks/runtime-src/proj.win32/Debug.win32/src/jsb_polyfill.js:28772:Error: js_cocos2dx_DelayTime_create : Error processing arguments

jsb: ERROR: File …\auto\jsb_cocos2dx_auto.cpp: Line: 19499, Function: js_cocos2dx_DelayTime_create
js_cocos2dx_DelayTime_create : Error processing arguments
F:/Project/Elona2New/build/jsb-default/frameworks/runtime-src/proj.win32/Debug.win32/src/jsb_polyfill.js:28772:Error: js_cocos2dx_DelayTime_create : Error processing arguments

beta9的这个DelayTime有bug

新项目准备入坑!年后开搞!
:2::2::2:

好像action有什么bug

插件商店这里有个 bug,在 Help 菜单里面选择 logout 之后,退出 Creator 再重新登录,就可以正常打开了, @RazgrizHsu

年前应该不更新了把 我准备把1.3.1换成这个BETA9了

年前还是会更新的,升级到 beta9 可以,但是建议使用自定义引擎,可以使用我们 github 上面的引擎的 1.4 分支。这样可以持续更新。

Invalid timeline type for a bone: flipX (bone27)
用spine 动画报错。。。只能继续用1.3.1了

1.3.3 升級到 1.4.0 後 mp4 無法 decode!!!

你指的是 VideoPlayer 么?