【官网正式版更新】Cocos Creator v2.0.0 社区版发布贴

求 2.0 Native 退出游戏方法。

原来安卓监听back键,然后cc.director.end() 就退出游戏了,现在执行后只停止了帧循环不会退出游戏,cc.game.end 也不行,模拟器测试了一下也退出不了,web用 cc.game.end 可以关闭窗口。

cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, (event: cc.Event.EventKeyboard) => {
    if (event.keyCode === cc.macro.KEY.back) {
        // cc.game.end();
        cc.director.end();
    }
});

刚才测试了一下 cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN) 安卓监听无效

微信小游戏手机上发热比较大怎么回事?

求说明, 为什么cocos2d-x-lite引擎里面还有dragonbones的C++源码, 而安装的creator目录里面内置引擎却没有??

ccc 1.9.3的旧项目 用2.0打开后build windows平台 选择link src下没有生成project.js. 又试了bulid web mobile,正常生成了project.js. @panda

热更新中 getTotalBytes() 和 getTotalFiles() 这两个方法只能在下载一个文件后才有数据,这是不是一个bug呢,2.0之前一直有这个问题,麻烦 @panda 看一下

正常的需求是在 checkCb 中检查到远程资源更新,然后显示需要更新的资源大小,但是这时读不到数据


只有下载成功第一个文件后才能获取所有文件的大小,但是这时已经下载开始了,这时显示资源大小已经来不及了

1赞

是不是脚本内容为空?

你试试再调用一次 spriteFrame._calculateUV()

资源放 CDN 啊

都勾选是有效的,只是有改动,效果和 1.x 有区别

WebGL framebuffer 创建的贴图确实是上下颠倒的,主要是为了能展示效果所以没有调整,否则覆盖上去跟以前一样,你也分不清。真的要使用的时候,可以设置 texture.setFlipY(true);

SHOW ALL 模式有改动

反馈一下

分支看错了

已知问题

对确实是,需要获取 remote manifest 之后才知道,未来会优化

哈哈哈哈~~~~~~~~~~~~~~
你要是那种解压就能用的版本吧。。。

@panda 2.0的cc.BlockInputEvents屏蔽了不只是下层节点事件,而是所有节点的按键事件都屏蔽了

@panda 也不是全部屏蔽,我在canvas底下建一个node(panel),然后建一个带有cc.BlockInputEvents的node(起到mask作用)设置zOrder在-1,导致在这个node(panel)上的 this.node.on()监听触摸无法监听到,只有在richtext、button等上按有反应

原来在1.9.3上没有问题

@panda 提供了demo工程

BugBlock.zip (571.7 KB)

删除一个节点后会把兄弟节点全展开,这个操作很 气人

4赞

这个操作很6

形象!

@panda 2.0的Camera组件非常有用,能不能让它在编辑器里也能生效?所见即所得。或者提供一个能让Camera在编辑器里生效的方式,需求很大。

2赞

我看了 demo,你在 Canvas 节点上监听当然会被阻拦,你要在 label 或者 sprite 节点上监听才有用啊。。。汗。。。

已经反馈啦

你控制 Camera 的组件可以设置 executeInEditMode 就好啦,这样你在生命周期回调中做的操作在编辑器中就会生效了

@panda 不好意思,之前做的demo有点偷懒,重新写了一下demo,使用代码复现问题,也发现了点问题,我创建一个mask节点,加入到创建的node中z轴为-1,node加入到canvas。mask并没有加入到panel的-1,具体看一下demo吧,可能block问题也是同理

BugBlock-p2.zip (581.7 KB)

@panda 我故意把mask调整为半透明,node中的cocos logo的sprite就被压在mask后面了,但是node中label在mask前面

这是预览,预览啊大哥!发布后就不会了。

场景打不开了不知道什么原因

[db-task][import] Failed to import asset C:\Users\a\Documents\CocosProject\summer\summer-h5.2.0\assets\scenes\mainMap.fire, message: SyntaxError: C:\Users\a\Documents\CocosProject\summer\summer-h5.2.0\assets\scenes\mainMap.fire: Unexpected token  in JSON at position 0
    at JSON.parse (<anonymous>)
    at C:\CocosCreator2.0.0\resources\app.asar\node_modules\fire-fs\node_modules\jsonfile\index.js:36:18
    at C:\CocosCreator2.0.0\resources\app.asar\node_modules\graceful-fs\graceful-fs.js:78:16
    at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:439:3)

测试了一下,不行啊。弄了一个executeInEditMode的组件去改一个Camera组件的Depth,Camera组件属性检查器里的Depth值确实被改了,但是编辑器场景里没有生效(运行起来有生效)。
也试了一下写一个继承Camera的组件且开启executeInEditMode,但是onEnable的时候报错,在CCCamera.js第359行:

cc.director.on(cc.Director.EVENT_BEFORE_DRAW, this.beforeDraw, this);

这里的this.beforeDraw没有定义,因为它的定义是先判断不在编辑器环境下才有。。。

beforeDraw: !CC_EDITOR && function () {...}

麻烦看一下~Camera对我们做编辑器内的游戏编辑器很有用。谢谢~

##[小BUG]

Mac系统,Chrome全屏模式下调试报错:

 Uncaught TypeError: Cannot read property 'width' of undefined
    at getEmulatedScreenSize (boot.js:110)
    at showSplash (boot.js:120)
    at initPreviewOptions (boot.js:167)
    at boot.js:170
    at boot.js:420

退出全屏模式OK

是Chrome必须和creator在同一个桌面空间,否则不能运行.但1.x版本都没有问题
暂时只能使用Safari调试:relieved: