Cocos Creator v2.4.0-rc.9 测试帖(正式版已发)

我们团队现正研究2.4版本的Bundle机制来开发大厅加载多个子游戏的功能,目前测试时遇上一个问题。如果加载A跟B游戏同时有着同class name的档案的话,加载A游戏后又加载B游戏的话则会输出一条错误

js.js:427 A Class already exists with the same classname : “Main”.

Main是两个游戏中撞名的class名,想请问下有啥好解法,要期待所有子游戏中的class不撞名显然是不可能的

看下这个问题

2.4.0alpha打开报错,第一次新建项目后没问题,关闭ccc,再打开任何项目都报错,无法预览场景

download failed: /Users/mico/work/toptop/GameHall/library/imports/02/0275e94c-56a7-410f-bd1a-fc7483f7d14a.json?_t=1589268037836, status: 0(error) Error: download failed: /Users/mico/work/toptop/GameHall/library/imports/02/0275e94c-56a7-410f-bd1a-fc7483f7d14a.json?_t=1589268037836, status: 0(error)
empty json Error: empty json
TypeError: Cannot set property ‘_uuid’ of undefined
download failed: /Users/mico/work/toptop/GameHall/library/imports/c0/c0040c95-c57f-49cd-9cbc-12316b73d0d4.json?_t=1589268037837, status: 0(error) Error: download failed: /

Users/mico/work/toptop/GameHall/library/imports/c0/c0040c95-c57f-49cd-9cbc-12316b73d0d4.json?_t=1589268037837, status: 0(error)
empty json Error: empty json
TypeError: Cannot set property ‘_uuid’ of undefined
download failed: /Users/mico/work/toptop/GameHall/library/imports/6d/6d91e591-4ce0-465c-809f-610ec95019c6.json?_t=1589268037837, status: 0(error) Error: download failed: /Users/mico/work/toptop/GameHall/library/imports/6d/6d91e591-4ce0-465c-809f-610ec95019c6.json?_t=1589268037837, status: 0(error)
empty json Error: empty json
TypeError: Cannot set property ‘_uuid’ of undefined

我估计你这个问题只能得自己规避了,这个是js引擎的序列化机制,基本不会动的。建议你对Bundle内的文件名和类名都加前缀

新建项目,打开崩溃,不是必现:12:
崩溃视频.rar (2.8 MB)

你好,请问下 时间轴上刻度的表示法是 01-05 ,为什么要这么设计呢? 为啥不是flash那种是总帧数呢? 比如103表示一共103帧(每秒x帧,其中x参数可以自己调整,30或者60帧), 只是觉得奇怪creator为啥这么设计的,谢谢。

node的active=false时去修改node.width的值没有效果
重现步骤:
1.在Canvas下创建一个Sprite精灵,随便放个图片,然后把精灵隐藏,就是把右边的勾去掉
2.在代码中给node的width赋值
3.给node的active赋值true,第一次显示node的width是没有改变的
this.imgTest.node.width = this.imgTest.node.width * 0.8;
this.imgTest.node.active = true;

2.0.10是可以的,2.3.3就不行了,新版的active为false时修改属性值是没有效果?

请问一下 loadBundle loadRemote 这种函数提供进度信息么?

特别是loadBundle 如果我需要做大厅子游戏下载,那么下载子游戏的过程中一般都需要一个进度信息的。

请问一下改如何获取下载进度?

@Knox

官方的回答是这样的
具体没试过~

目前 creator 只支持时间表示法,后续到 3.0.0 会跟 3d 编辑器保持一致可以让用户根据自己的需求进行随意切换

这个应该是场景中有组件丢失,这个问题 alpha.2 会修复

在製作大廳遊戲時我新開了一個專案製作子遊戲,並發布成Asset Bundle供大廳加載,但是加載後跳出以下錯誤:
Uncaught TypeError: Cannot read property ‘1’ of undefined
at CCClass.shouldCollide (cocos2d-js-min.js:1)
at CCClass.addCollider (cocos2d-js-min.js:1)
at CCClass.onEnable (cocos2d-js-min.js:1)
at CCClass.invokeOnEnable [as _invoke] (cocos2d-js-min.js:1)
at CCClass.invoke (cocos2d-js-min.js:1)
at CCClass.activateNode (cocos2d-js-min.js:1)
at CCClass._onHierarchyChanged (cocos2d-js-min.js:1)
at CCClass._onHierarchyChanged (cocos2d-js-min.js:1)
at CCClass.setParent (cocos2d-js-min.js:1)
at CCClass.addChild (cocos2d-js-min.js:1)

最後發現是兩個專案的Group設定不同造成的,這有辦法獨立設定嗎?不然所有子遊戲要共用Group設定這樣不好處理。

好的3q,

目前没办法单独设置,你可以多添加几个 group,每个相同的 group 进行区分,例如设置 dome1_player demo2_player ,虽然这样设置的 group 相对会多一点

用繁体字不难受吗,简体字多方便呢

设置 cc.macro.ENABLE_MULTI_TOUCH = false 后 疑似导致节点 node[’_touchListener’] setSwallowTouches(false) 失效;
引擎组看一下,谢谢。

两个js是一样的,还是完全不一样,只是同名

现在在loadBundle的时候只会下载两个文件,一个是index.js,一个是config.json,这两个文件很小,实际上进度基本用不上,我们现在正在开发asset bundle 的zip的压缩模式,zip模式的进度会更有用一些

emm…治标不治本啊,现在我是想用cc.game.restart()来重启游戏再来载B游戏,但貌似还是行不通

完全不一样喔,只有class的名字跟档名都是相同的