首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[cocosCreator,Cocos2d-x]不能使用loadScene回调函数的绑定?

[cocosCreator,Cocos2d-x]不能使用loadScene回调函数的绑定?
EN

Stack Overflow用户
提问于 2018-09-05 10:59:37
回答 1查看 167关注 0票数 0

如果在loadScene()回调函数上使用绑定,则getScene()信息不正确。

从入口场景切换到大堂场景后,我将进行后处理。

它是用typeScript实现的。

代码语言:javascript
复制
Entry.ts
cc.director.loadScene('Lobby', this.postProcessLobby.bind(this)(isRelogin));

enter image description here

控制台窗口中的cc.director.getScene()值表示'Entry‘'Lobby’是正确的,因为它是在切换场景后调用的。

另一个例子是使用Arrow函数来获得我想要的结果。

代码语言:javascript
复制
Entry.ts
cc.director.loadScene('Lobby', e => this.postProcessLobby(isRelogin));

enter image description here

cc.director.getScene()中的值表示“lobby”,lobby变量的值显示正常。

我更喜欢使用bind()进行异步回调处理,并且写得很好,没有问题。但是,loadScene()没有得到想要的结果。见鬼,这是什么?场景回叫没有切换吗?或者还有另一个问题?

EN

回答 1

Stack Overflow用户

发布于 2018-09-05 11:26:52

您的第一个代码片段使用参数isRelogin调用this.postProcessLobby.bind(this),并将返回值作为第二个参数传递给loadScene。这可能不是你的意思。您可以使用this.postProcessLobby.bind(this, isRelogin)生成一个回调,该回调将isRelogin添加到调用它的参数列表中,这在您的情况下应该有效,因为看起来您的postProcessLobby实现忽略了额外的参数,但对我来说,箭头函数似乎是一个明确的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52176438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档