Cocos Creator3.8 项目实战(二)cocos creator编辑器中绑定事件引发的bug解决

简介: Cocos Creator3.8 项目实战(二)cocos creator编辑器中绑定事件引发的bug解决

问题描述:

编辑器里面多个按钮绑定同一个脚本,并配置事件,脚本中有其他消息监听,引起逻辑混乱。


问题原因:

编辑器里面多个按钮绑定同一个脚本, 每次绑定一个按钮事件,就会导致加载一次脚本 ,如上绑定了多个按钮的事件,脚本也就被加载多次,导致初始化接口,比如:onload 被执行多次。 此时onload中有其他消息监听,同理也被执行了多次,导致逻辑混乱。


问题解决方法

删除编辑器中按钮事件,调整为脚本代码中添加按钮属性,手动绑定事件。

@property(Button)
    btAccountLogin:Button;
    @property(Button)
    btGustLogin:Button;
    @property(Button)
    btGoogleLogin:Button;
    @property(Button)
    btFaceBookLogin:Button;
    @property(Button)
    btWhatsLogin:Button;
    @property(Button)
    btTelegramLogin:Button;
    onLoad () {
        this.btAccountLogin.node.on(Button.EventType.CLICK, this.onAccountLogin, this);
        this.btGustLogin.node.on(Button.EventType.CLICK, this.onGuestLogin, this);
        this.btGoogleLogin.node.on(Button.EventType.CLICK, this.onGoogleLogin, this);
        this.btFaceBookLogin.node.on(Button.EventType.CLICK, this.onFaceBookLogin, this);
        this.btWhatsLogin.node.on(Button.EventType.CLICK, this.onWhatsAppLogin, this);
        this.btTelegramLogin.node.on(Button.EventType.CLICK, this.onTelegramLogin, this);
    }


相关文章
|
UED
CSDN博客使用MarkDown编辑器bug解决办法
前段时间使用CSDN开始梳理自己的知识结构,主要是使用JupyterNotebook编辑,然后使用md模式导出,再用csdn自带的md编辑器上传导入。
925 0
|
1月前
|
存储 Linux 编译器
vim编辑器和gcc/g++编辑器的使用讲解
vim编辑器和gcc/g++编辑器的使用讲解
53 2
|
1月前
|
Linux 编译器 开发工具
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
121 1
|
1月前
|
Linux Shell 开发工具
【linux】Linux编辑器-vim
【linux】Linux编辑器-vim
32 0
|
3月前
|
Linux 开发工具
linux vim-编辑器常用指令
linux vim-编辑器常用指令
31 0
|
12天前
|
Linux 程序员 开发工具
最强文本编辑器 VIM 获取与安装
最强文本编辑器 VIM 获取与安装