记一个Dashboard自动迁移编辑器之后导致的谜之bug,浪费了很多时间!!!

Cocos Dashboard更新1.3.0之后会弹出要求自动迁移编辑器目录,并且会在原目录生成编辑器目录的软连接。

我在编辑器自动迁移之后,用CocosCreator 2.4.11(系统: win10)打包微信小游戏,发现所有button不进回调了(在这之前是正常的)。但是打web包,以及预览都是能正常进回调。

之后在微信开发工具调试的时候发现 CCEventManager.js 中获取到的触点坐标为(Infinity, Infinity),这个触点坐标判断肯定在节点范围外,所以不可能进回调了。

这真的让我非常费解,怎么可能是Infinity,我非常确定没有改什么影响触摸监听的代码。后面重启编辑器、删除Creator临时文件、还原这段时间的改动,反复打包,但在微信小游戏上触点坐标却始终都是(Infinity, Infinity)

在排除所有可能性后,想到这段时间里唯一有过的操作就是编辑器自动迁移,然后就想着先删除Dashboard生成的软链接再打包试试,结果触点坐标就正常了。。。

所以这。。。??????

又一个里程碑~~

幸好早上点的忽虐。。。

每次打开都要点一次忽虐,真怕哪次点错 :sweat_smile: :sweat_smile: :sweat_smile:

已经迁移了。。 但是是安卓 并没有什么问题

请问你是否自定义过引擎?

没有自定义引擎

怎么想都不可能啊…… 删掉几个软链接,会影响到编辑器生成的代码…… 好奇怪

每天提示迁移,每天点迁移,第二天继续提示。。。

我也觉得很奇怪,但是确实就是这样的现象,我在删除软链接之前打包微信小游戏就是有问题的。即使抛开这些,只有微信小游戏打包后触点坐标为Infinity也很奇怪,打包web就正常。并且没有改引擎源码。

迁移后有报错吗?

我这边公司电脑也是在已经自动迁移过的情况下,每天打开Dashboard都会提示迁移。
每次打开Creator(v2.4.11)都报这个错 “Failed to uncache module main.js: Cannot find it.”

这台电脑没有删除软链接,所有编辑器都已经自动迁移到要求的目录,但是每次打开Dashboard都弹提示。
我在另一台电脑上手动删除了软链接,就不会弹这个提示。

image
image

你好,会弹出重复提示的 能否提供一下 profiles/editors.json 文件给我呢,因为现在是读取这个文件来判断,里面记录的编辑器地址,是否在应用里面

…浪费了一天,还以为是自己写了啥代码炸了。直到刚刚重新选打包引擎版本的时候才发现多了个新的目录,才想起来自己也迁移了。
我这边是使用命令行打包的,试了下,使用迁移后的cocos.exe打微信包是正常的,使用软链接那个cocos.exe打出来的包就会有触摸失灵的问题。

很抱歉,我们下个版本会去掉软链接

可以告知一下导致触摸坐标Infinity的原因吗,想知道具体原因

editor.zip (606 字节)

你好,看了你的 editor.json 文件,其中只有 3.7.2 这个版本是安装在在新的默认地址。其他的如 3.6.0 和 2.4.11 等版本还是在 你的dashboard的安装目录下 的,我的迁移脚本的判断标准就是看editors.josn 是否有记录的编辑器存放于应用安装目录下,所以会有这个弹窗,你可以点击迁移,然后重启 dashboard,再看下这份 editor.json 文件。如果有问题可以继续回复我,或者你是否加我 微信: 15105029536,必要的话我远程帮你排查问题。

问题是我这几天每天重启了,每天都点了一遍自动迁移,你看这里的目录已经是软链接了。
不过没关系,这个问题我在另一台电脑上验证了,删除这里的软链接就解决了。

image