当前位置: 代码迷 >> 综合 >> Cocos creator 基础学习---点击事件之一次点击后失效
  详细解决方案

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

热度:44   发布时间:2024-02-09 17:14:15.0

一次触发后失效

点击事件在部分情况下都只需要触发一次,再次点击不会产生任何效果,因此为了避免持续点击所造成的冲突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;}
}
  相关解决方案