一个CocosCreator3.7和3.6.3都有的小bug,应该算bug

  • Creator 版本: 3.7和3.6.3(估计以前的也有)
  • 目标平台:电脑的浏览器
  • 重现方式:进入prefab窗口以后使用ctrl+s保存游戏,浏览器不会刷新。但是一般来说,在正常场景窗口的时候ctrl+s浏览器是会刷新的。
  • 重现概率:100%

进入Prefab窗口,保存以后无法在浏览器中刷新游戏。因为我经常习惯改完属性以后直接ctrl+s来重新在浏览器预览游戏,包括有时候改一改prefab。如果能够修复这个问题会舒服很多。

1赞

目前也发现3.6.3有这种情况,3.5.2没出现这种情况

确实有这种现象,预制体中Ctrl+s浏览器不会刷新;同时3.6还发现一个问题,有时候改了逻辑,重新回到编辑器时,浏览器重新刷新了,但代码不会重新编译,所以每次都必须点最上边的手动刷新

3赞

目前不支持预制体保存时刷新浏览器。经验证3.5.2也是不支持的。
经和产品讨论,这个需求暂时不会支持。需要用户手动点击刷新。

这个可能是编译脚本时出了问题。
浏览器刷新的逻辑和脚本编译的关系,是脚本编译完成后,发事件触发浏览器刷新,所以不太可能浏览器刷新了,代码没有重编。可能是代码重编的时候缓存或者什么问题导致没生效。

可以给个不支持的理由吗?因为你们说的暂时不会支持一般指的是3年内都不打算支持

针对这个问题,我一般都在浏览器界面按ctlr+shift+R来强制刷新

这个不是 bug,编辑 prefab 的时候按保存,不代表游戏就一定要刷新。比如编辑一个模型的时候,保存后游戏只需要 reload 这个模型即可,没必要整个游戏重新加载。

1赞

但是用浏览器预览,不都是要让游戏完全重新加载才能看得到变化的吗?

游戏里的逻辑也会动态加载啊,比如我进入第二关之前,保存第二关的 prefab 再进去,那就能加载到最新的第二关资源。修改背包后,关闭再打开(或者什么其他调试手段),不就应该加载到最新的背包。

我觉得有道理,但是很多时候,可能要刷新的需求远大于不需要刷新的需求,因为一般人的prefab不会即时释放,不全局刷新就只会用旧的。当然,没有这个功能,目前来看,不影响开发(知道prefab不刷新的前提下)

2赞

我明白你说的,不过最好将主动权交给用户来决定是否刷新浏览器

言之有理,老手才知道不会刷新,新手就不一定了

好的,我们增加一个自动刷新选项

3赞

确实,就算没有这个功能,要做的只是点一下刷新。
但是我喜欢cocos相比于unity的地方在于,他只要ctrl+s而不是ctrl+p就可以让游戏启动,甚至代码变动以后只要切换到编辑界面就会自动顺畅的重新启动游戏,而且还不会因为编译过程卡。开发流程会更加丝滑(对我而言

这个选项功能3.8 有加上去么

还没有,目前先记着