Quantcast
Channel: Cocos中文社区 - 最新主题
Viewing all articles
Browse latest Browse all 88737

如何预防按钮重复点击?

$
0
0

@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

阅读整个主题


Viewing all articles
Browse latest Browse all 88737

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>