loadScene: Failed to load scene "game" because "game" is already loading

手册->cocos creator 入门->快速上手: 制作第一个游戏->game.js文件
cc.director.loadScene(‘game’);
在浏览器预览时会在浏览器的后台报错,但是功能正常:
loadScene: Failed to load scene “game” because “game” is already loading

这个问题怎么解决,找不到卸载场景的api,

你好,请问用的是哪个引擎的版本?怎么重现?

是不是点的太快了,建议将调用加载场景的按钮在第一次点击后删掉或者禁用.

v1.3.1
下载手册中的那个 start_project
在creator中点击在浏览器中预览
打开浏览器调试F12
然后等gameover,重新加载此场景就会出现

它这里没有按钮用来控制,就是当game over 之后直接重新加载本场景

我也遇到同样的问题了。

这是因为你 game 已经加载中了,你又加载了一次。这个报错纯粹是用来警告你这件事情的,一般逻辑上不应该出先重复加载的情况。

我之前也遇到过这个问题, 好像还会导致各种属性突然失效的问题, 应该是去掉demo 代码里的 loadScene(‘game’) 就好了

好的。 谢啦

你是放在update里的吧?我也遇过这个问题,我是这样解决的,就是loadScene之前先用if条件句判断一下之前是否load过。

onload: function() {
    var IsLoad = true;
    this.IsLoad = IsLoad;
},

update: function() {
    if (this.IsLoad === true) {
        cc.director.loadScene('game');
        this.IsLoad = false;
    }
},

但其实这报错好像对游戏也没任何影响(就我目前的观察来说),也不是红字,我一般是直接忽略的,所以除非你的场景很庞大,需要加载好几秒,这时候就会连续报错上百次,这时候我才会在脚本里加上面那些代码进去。

我想这个问题会出现的原因就在于,cc.director.loadScene(‘game’);之后,直到下一个场景加载完毕并切换过去之前,当前场景并没有终止而是会继续运行,脚本中的update还会反复执行,这就造成了反复加载场景的问题。也算是一个小bug吧。

2赞

把项目打包成web,上传到服务器,加载网页,进行断网,切换场景(不成功),再联网切换场景,就一直会报这个错误

1赞

Game.js
onLoad () {
…//
this.starDuration = 1;
},
把starDuration改成1就好了