美文网首页
cocos creator 长按事件简单实现

cocos creator 长按事件简单实现

作者: 还好还好L | 来源:发表于2023-03-07 22:52 被阅读0次

通过判断时间戳来实现不比比上代码

   // 按下用的时间时间戳
    private _touchTime: number = 0;
    // 是否记录按下屏幕
    private _inTouch: boolean = false;
    // 相差多少毫秒才算长按
    private _longTapTime: number = 300;
    // 开始
    start() {
        // input输入监听鼠标抬起事件
        input.on(Input.EventType.TOUCH_START, this.onTouchStart, this);
        input.on(Input.EventType.TOUCH_END, this.onTouchEnd, this);
    }
    // 设计一个长按短按识别. 
    //如果按的时间超过0.3秒则认为是长按,否则认为是点击
    onTouchStart() {
        // 这个是锁如果上一个动动画没有结束则不开在update里面更新
        if (this._inTouch) {
            // 按下开始记录当前时间戳
            this._touchTime = Date.now();
        }
    }
    onTouchEnd(event: EventTouch) {
        if (Date.now() > (this._touchTime + this._longTapTime)) {
            // // 长按执行2
            this.jumpByStep(2);
        } else {
            // 点击执行1
            this.jumpByStep(1);
        }
    }
 // 视图更新
    update(deltaTime: number) {
         // 如果在执行其他动作则锁住
        if (this._startJump) {
            this._inTouch = false
          //否则解锁
        } else {
            this._inTouch = true
        }
    }

相关文章

网友评论

      本文标题:cocos creator 长按事件简单实现

      本文链接:https://www.haomeiwen.com/subject/xnsnldtx.html