欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Cocos creator 基础学习---点击事件之一次点击后失效

程序员文章站 2024-03-16 16:48:40
...

一次触发后失效

点击事件在部分情况下都只需要触发一次,再次点击不会产生任何效果,因此为了避免持续点击所造成的冲突or小bug,现有两种解决办法

一种是通过判断点击的次数

clickCount = 0;//设置点击次数
 
onClickBtn(){
    this.clickCount ++;
    if (this.clickCount == 1){//判断点击次数,只有第一次点击才能进入,否则不再触发
        //点击事件
    }else {
        return;
    }
}

一种是添加一个true/false的判断条件

keyClick = true;//设置判断条件
 
onClickBtn(){
    if (this.keyClick){
        this.keyClick = false;//设置为false让它点击一次后不再触发
        //点击事件
    }else {
        return;
    }
}

另外还有一种方式

写这篇文章的时候突然想到button组件里有一个interactable,添加的时候是默认勾选状态,意思是可交互的,否则禁用不可交互

这样就可以在点击后将该值设置为false使其不再触发,就不需要手动添加判断条件了

onClickBtn(){
    let isAble = this.node.getComponent(cc.Button).interactable;
    if (isAble){
        this.node.getComponent(cc.Button).interactable = false;//直接isAble = false无法传值
        //点击事件
    }else {
        return;
    }
}