做了一个单元测试,在3.8以上物理有个明显的变化,碰撞后及时销毁或者隐藏会报错,甚至执行到父节点添加都会报错。3.8以下的项目升级上来影响比较大,虽然通过延时一帧可以解决这个问题,但是可能会导致一些其他的逻辑错误或者干扰,官方是否可以解决这个问题。保持和3.8以下的版本兼容。谢谢
demo:
Hello384_1.zip (756.9 KB)
做了一个单元测试,在3.8以上物理有个明显的变化,碰撞后及时销毁或者隐藏会报错,甚至执行到父节点添加都会报错。3.8以下的项目升级上来影响比较大,虽然通过延时一帧可以解决这个问题,但是可能会导致一些其他的逻辑错误或者干扰,官方是否可以解决这个问题。保持和3.8以下的版本兼容。谢谢
3.8 之前的版本没有问题么?
没有的。公司的项目从3.7.4升级到3.8.3,2个游戏升级均有遇到
是的,我也遇到啦。解决方法就是在下一帧执行
这在3.7.4的时候,公司两个项目以前是不会的,我感觉用下一帧处理的时候,在一些复杂的项目逻辑处理的时候,无法得心应手。出现一些偶现的谜一样的BUG。 unity没有这个情况
试试可以解决: ,如果是销毁的话,里面不要用removeFromParent,改用destroy.
另外onEnabled不需要手动调用,可以去掉。
如果不销毁,循环利用的话,这样:
UIOpacity.zip (14.5 KB)
有可能,在 3.8.x 有 revert 过 3.7.x 的一个改动。
我们会定位一下。
我在看哈,最近比较忙,晚点哈
demo是随便搞得 没在意这些, 核心问题是 opacity 你么发现如果不销毁 再点击打开是不显示的吗
你原来调用close的时候,触发了removeFromParent是销毁了。只是内存没有释放。如果他存在,又何须在addChild一遍,都已经add过了
大哥 我removeFromParent怎么就销毁了呢…只是从父节点删除了,要显示的时候再添加上去而已
我并不是要销毁他- - 你把我原本代码的 op.opacity = 0 注释掉 运行对比一下就知道我说的啥意思了.
好的
憋了5个月 有什么大招嘛
为什么动态修改spine的sockets不生效啊?
我在编辑器里设置了5个空的节点
在代码里动态修改对应的node
test.sockets[1].target = gold.node
test.setAnimation(0,“play”,false)
Fix the issue that can not destroy Node in contract listener call back in Box2D by minggo · Pull Request #17701 · cocos/cocos-engine · GitHub 修复了。原因也在 PR 里有说明。
吐槽一下,又没几个老外看搞什么英文页面,搂~~
个人建议,直接双语说明