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;
}
}
下一篇: 碰撞检测优化-四叉树