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编辑器上传导入。
970 0
|
6月前
|
存储 Linux 编译器
vim编辑器和gcc/g++编辑器的使用讲解
vim编辑器和gcc/g++编辑器的使用讲解
152 2
|
4月前
|
开发工具
vi编辑器,现在vi\vim是文本文件进行编辑的最佳选择,Vim是vi的加强的版本,兼容vi的所有指令,vim编辑器有三种工作模式,一开始进入的是命令模式,命令模式i是插入的意思,两下y+p复制内容
vi编辑器,现在vi\vim是文本文件进行编辑的最佳选择,Vim是vi的加强的版本,兼容vi的所有指令,vim编辑器有三种工作模式,一开始进入的是命令模式,命令模式i是插入的意思,两下y+p复制内容
|
5月前
|
开发工具
Vim 编辑器:高效文本编辑的瑞士军刀
**Vim 概览:** Vim 是一个功能丰富的文本编辑器,以其高度可定制性著称。文章介绍了 Vim 的高效使用技巧,包括快捷打开文件、命令行模式下的常用命令、查找与替换、删除和复制文本。还讨论了配置 `.vimrc` 文件以自定义设置,如改变 leader 键、设置缩进和高亮,并展示了安装插件如 vim-airline 和 vim-snazzy 的方法。通过这些技巧,用户能提升 Vim 使用效率。
65 5
|
5月前
|
Ubuntu 搜索推荐 Linux
Linux的Vim编辑器详解
Linux的Vim编辑器详解
|
4月前
|
Linux 开发工具 数据安全/隐私保护
【linux】如何优雅的使用vim编辑器
【linux】如何优雅的使用vim编辑器