const {ccclass, property} = cc._decorator;

@ccclass
export default class click extends cc.Component {

    @property(cc.Node)
    clickBt:cc.Node;

    doubleSubTime=200;//ms
    longSubTime=600;

    startClick=false;
    clickTime=0;
    startClickTime=0;
    endClickTime=0;

    onLoad () {
        this.clickBt.on(cc.Node.EventType.TOUCH_START,()=>{
            this.startClick=true;
            this.startClickTime=new Date().getTime();
        },this);

        this.clickBt.on(cc.Node.EventType.TOUCH_END,()=>{
            this.startClick=false;
            this.endClickTime=new Date().getTime();
            console.log(this.endClickTime-this.startClickTime);
            if(this.endClickTime-this.startClickTime>this.longSubTime){
                //长按事件
                console.log("长按事件");
            }else if(this.endClickTime-this.startClickTime<this.doubleSubTime){
                //点击事件
                this.clickTime++;
                setTimeout(()=>{
                    if(this.clickTime==1){
                        //单击
                        console.log("单击事件");
                    }else if(this.clickTime==2){
                        //双击
                        console.log("双击事件");
                    }
                    this.clickTime=0;
                },this.doubleSubTime)
            }
        },this);
        

    }

    start () {

    }

    // update (dt) {}
}

Logo

这里是一个专注于游戏开发的社区,我们致力于为广大游戏爱好者提供一个良好的学习和交流平台。我们的专区包含了各大流行引擎的技术博文,涵盖了从入门到进阶的各个阶段,无论你是初学者还是资深开发者,都能在这里找到适合自己的内容。除此之外,我们还会不定期举办游戏开发相关的活动,让大家更好地交流互动。加入我们,一起探索游戏开发的奥秘吧!

更多推荐