【更新 011909】Cocos Creator 3.4.1 新春版 Beta 测试帖

问下,这个3.4版本点击事件穿透怎么做
我真的是怒了,3.0.0版本查了好久代码才写成功,结果3.1版本改了,原来的方法不能用了。

于是,3.1版本又查了好久代码,重新写了。
结果3.4版本又改了,原来的代码又用不了。我就想问下,什么时候是个头啊,node的属性都能改来改去???

谁能告诉我3.4版本又该怎么写?

新的测试还没来,还是上月20号的包

跟踪了一下点击事件的分发机制


感觉按当前的逻辑,想要单个node点击穿透不可能了。因为eventTouch是全局的,不属于某个node,如果eventTouch.preventSwallow = true. 那么接下来所有的节点都要传递事件,肯定是不行的。


对比下3.3.1版本


只要这个swallowTouches = false ,就不会return true
那么外部的循环就可以继续,不会break,如下图:

而上面的swallowTouches是挂在listener上的,也就是node下的一个属性。这样可以控制任意一个node可以点击事件穿透,而不会影响其他node。

当前3.4的版本如之奈何?
@visualsj @panda

浏览器运行后很大概率会出现代码错误了 比方说节点为空 不会有报错提示 只是不往下执行 要自己一行一行去分析哪里报错了 这bug导致工作效率太低了

有碰到过。就是报错代码后面不跑了。。得debug一行一行跑,看哪里出的问题

比如哪些例子?

我这边很大的概率会出现

我有必现情况
解析一个错误的json格式,后面代码就不执行了

3.4版本的 自定义纹理压缩处理 并没有生效

连初始化的打印都没有生效

我现在也是必现 声明一个节点 然后编辑器不拖入对应的Node 其实就是空的 在start里面使用该节点 运行时不报错 也不往下执行 这个错误还好说 关键是其他逻辑有错误 运行时同样是不报错 这个就得一行行代码去分析 这。。。。。 :rofl:

一开始是不会这样的 都是哪里报错都堆栈信息 不知道为什么用着用着就这样了 重启 清缓存 什么的都没用 现在这个项目排错很困难

看了视频,有几个疑问:

  • web 上一开始是点了好几次才出现的对话框,原生上第一次点击很快就出来了
  • 原生上第二次比较慢,后面的就比较快了

从这个现象很难看出问题。是否是通过加载 prefab 就能重现问题?

问下,3.4.0 spine 【原生端】设置透明度为0后,setAnimation ,然后tween0-255,不显示的问题解决了吗,80-255是正常的

1 坐标输入框,不能填±X/了,以前坐标100,可以后面跟个X0.6回车,就能得出60,现在这个功能去哪了?
2 图片拖入替换,以前有批量替换的选项,现在要一个一个确认替换。

确实有很明显的卡顿,应该是 prefab 加载和反序列化的问题,我们已经在增加对应的测试用例来确保

这个问题之前确实没有关注到,我们在接下来的版本尽量优化

原生平台的优化一直在做,目前要准备合并到主仓库了,还需要一些耐心

参考下新的 swallow event 的机制,我们正在优化新的机制

没遇到过这种情况,@ase7en 麻烦把必现的项目发我们看看

已反馈

可以试一下周末放出的版本

你有创建构建的插件模板吗?里面有示例可以对照一下是否有配置差异,需要确认下 builder 里是否正常指定了这个脚本

这个东西我尝试过,我打印日志时候是调用到了,我是 MacOS

你应该在意的是事件多次穿透派发的问题,可以参考下这个 修复方案,每次设置 event.preventSwallow = true, 之后,事件只穿透一次

修复会进入到 3.4.1
https://github.com/cocos-creator/engine/pull/9950/files

录视频过程没点到位置上
我定位下来感觉是2个问题
1.label的bitmap和动态合图有很大关系,加载prefab做弹出动画,动画使用缩放和alpha渐变的过程中会重复创建和销毁,具体哪些会影响还在查
2.原生性能不如webview

好的,看到了,那就等下个版本了