@466969605 写道:
首先,我的需求很简单,就是防止按钮重复点击。
其实,我这边结合网络资料与自己想法总结了一下几个解决方案:
1.设置flag变量,点击事件开始时候根据该变量做相应处理(开始时设置为false,结束设置为true)
2.事件开始时试着enable = false;结束的时候设置true;
3.新建一个js脚本文件绑定处理。前两种比较大众一点,第三种我是受官方demo中21点游戏启发,想的一个,不过不知道能不能行,再次请教各位。
上代码
cc.Class({
extends: cc.Component,properties: { clickTime:-1,//点击时间 minInterval:1000,//最小点击间隔时间 }, // use this for initialization onLoad: function () { var self = this; function onTouchDown (event) { if(self.clickTime == -1){ self.clickTime = new Date().getTime(); }else{ var now = new Date().getTime(); if(now - self.clickTime < self.minInterval){ //点击间隔小于预设值 //TODO 如何中断所绑定的函数 }else{ self.clickTime = now; } } } function onTouchUp (event) { } this.node.on('touchstart', onTouchDown, this.node); this.node.on('touchend', onTouchUp, this.node); this.node.on('touchcancel', onTouchUp, this.node); }, // called every frame, uncomment this function to activate update callback // update: function (dt) { // },
});
代码中,我知道了点击间隔小于了预设值,那我怎么阻断其他函数的响应?
传送:
Button:http://www.cocos.com/docs/creator/api/classes/Button.html
Component.EventHandler:http://www.cocos.com/docs/creator/api/classes/Component.EventHandler.html
帖子: 3
参与者: 1