如果在loadScene()回调函数上使用绑定,则getScene()信息不正确。
从入口场景切换到大堂场景后,我将进行后处理。
它是用typeScript实现的。
Entry.ts
cc.director.loadScene('Lobby', this.postProcessLobby.bind(this)(isRelogin));控制台窗口中的cc.director.getScene()值表示'Entry‘'Lobby’是正确的,因为它是在切换场景后调用的。
另一个例子是使用Arrow函数来获得我想要的结果。
Entry.ts
cc.director.loadScene('Lobby', e => this.postProcessLobby(isRelogin));cc.director.getScene()中的值表示“lobby”,lobby变量的值显示正常。
我更喜欢使用bind()进行异步回调处理,并且写得很好,没有问题。但是,loadScene()没有得到想要的结果。见鬼,这是什么?场景回叫没有切换吗?或者还有另一个问题?
发布于 2018-09-05 11:26:52
您的第一个代码片段使用参数isRelogin调用this.postProcessLobby.bind(this),并将返回值作为第二个参数传递给loadScene。这可能不是你的意思。您可以使用this.postProcessLobby.bind(this, isRelogin)生成一个回调,该回调将isRelogin添加到调用它的参数列表中,这在您的情况下应该有效,因为看起来您的postProcessLobby实现忽略了额外的参数,但对我来说,箭头函数似乎是一个明确的解决方案。
https://stackoverflow.com/questions/52176438
复制相似问题