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

引入sdkbox的模块编译不过了native.log.zip (8.6 KB)

1赞

编译android 工程时, 我只想将 js脚本资源 编译->copy 到 android工程的 assets 下, (不需要每次都编译so, 生成apk)

请问, 我可以在哪里设置, 或调整哪个脚本? 谢谢

@dumganhar @panda

很抱歉,require 就是不支持动态表达式,这个我不确定为什么以前可以,但我肯定这个功能不会被长期支持。

anysdk 没有勾选
但是还是有anysdk的代码在构建出来的包里呢

参照这个教程
http://www.cocos.com/docs/creator/sdk/anysdk/anysdk-framework.html



我检查一下

如果函数中不写node.removeFromParent(); 就不会报错。跑动画的过程中应该可以removeFromParent的啊,麻烦引擎团队帮忙测测。

//i18n插件就使用了动态require。

看了下新版的i18n插件,已经不用动态require了,一次把所有语言都加载上。。。是旧版用到的。
另:1.6.0使用插件商店的i18n插件,各种报错。

同问,同问,如果不支持动态require,是不是i18n就需要一开始把所有可能用到的语言文件都加载进来??

这个问题已经修复了,等下一个版本就好

尝试了一下1.6,发现两个问题
1.global变量不能用了
2.使用FireFox远程调试,我尝试了好几个版本44、45、52、54都不能连接,提示意外错误

是的,或者改用 loadRes

Spidermonkey 内部去除了这个全局变量,需要改用 window

目前的测试版本暂不支持 debugger,最晚会在 1.6.1 支持 remote debugging

刚吃个饭来就有人回了,效率真高呀:+1:
global不能用了,我自己制造了一个

window.global = window;

游戏能跑起来了。

看了上面的帖子说,不建议使用npm,没搞懂这个逻辑。
用npm管理三库最为方便,统一使用commonjs规范,reqire\module.exports。
creator的插件代码使用的是全局变量,很容易被污染。

我曾经在cocos2d-js项目中使用过browserify和webpack打包js代码
webpack比browserify要强大些,支持动态require

let path = ...
require(path);

还有webpack的release参数可以优化代码,会将没有使用过的代码剔除掉。

确实有这个问题,不过利大于弊吧。否则插件代码和非插件代码一样了,更容易造成混乱。

webpack 只是支持一定程度的动态 require,实际上如果代码再复杂下去一样不支持。而且优化代码也是不完全智能的,现在 browserify 一样支持用 CC_EDITOR 之类的宏来剔除代码。

现在连OC端没有JS调用方法的实现,都不输出错误了。
直接黑屏,都没有任何输出。

1.6.0 beta.1 Windows10,刚才打开项目,报了个没见过的错误,不知道什么意思:

{ Error: socket hang up
    at TLSSocket.onHangUp (_tls_wrap.js:1092:19)
    at TLSSocket.g (events.js:286:16)
    at emitNone (events.js:91:20)
    at TLSSocket.emit (events.js:185:7)
    at endReadableNT (_stream_readable.js:974:12)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickDomainCallback (internal/process/next_tick.js:122:9) code: 'ECONNRESET' }
    at C:\CocosCreator\resources\app.asar\share\login\lib\user.js:1:1328
    at ClientRequest.t.request.on.e (C:\CocosCreator\resources\app.asar\share\login\lib\network.js:1:769)
    at emitOne (events.js:96:13)
    at ClientRequest.emit (events.js:188:7)
    at TLSSocket.socketErrorListener (_http_client.js:308:9)
    at emitOne (events.js:96:13)
    at TLSSocket.emit (events.js:188:7)
    at emitErrorNT (net.js:1272:8)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
{ Error: read ECONNRESET
    at exports._errnoException (util.js:1026:11)
    at TLSWrap.onread (net.js:564:26) code: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read' }
    at C:\CocosCreator\resources\app.asar\share\login\lib\user.js:1:1328
    at ClientRequest.t.request.on.e (C:\CocosCreator\resources\app.asar\share\login\lib\network.js:1:769)
    at emitOne (events.js:96:13)
    at ClientRequest.emit (events.js:188:7)
    at TLSSocket.socketErrorListener (_http_client.js:308:9)
    at emitOne (events.js:96:13)
    at TLSSocket.emit (events.js:188:7)
    at emitErrorNT (net.js:1272:8)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickDomainCallback (internal/process/next_tick.js:122:9)

目前好像不支持的。不过也不耗多少时间吧。

现在连OC端没有JS调用方法的实现,都不输出错误了。
直接黑屏,都没有任何输出。

你是用的接口是什么?

我的mac , 编译一次差不多5-10分钟吧, 耗不起啊。

因为现在, “模拟器”上能正常运行, android 登录回调报错, 所以要通过日志来定位错误点,不停地要加日志定位信息, 太慢了。。。 而且这个编译根本没必要啊, 我又不改动native层代码(即使有改动, 也只需要编译一次就可以了, 我们把so加入到代码管理中了)

给指明是哪个脚本也行, 我们大不了先搞一个适配我们当前项目实际情况的脚本, 替换一下这个编译过程~