cocosCreator节点添加双击事件

2023-10-15 14:05:11 浏览数 (2)

代码:

代码语言:javascript复制
const { ccclass, property } = cc._decorator;

@ccclass
export default class DoubleClickHandler extends cc.Component {
    private lastClickTime: number = 0;
    private readonly doubleClickInterval: number = 300; // 两次点击的时间间隔

    onLoad() {
        this.node.on(cc.Node.EventType.TOUCH_END, this.onTouchEnd, this);
    }

    onTouchEnd(event: cc.Event.EventTouch) {
        const currentTime = new Date().getTime(); // 获取点击时的系统时间,时间戳
        if (currentTime - this.lastClickTime <= this.doubleClickInterval) {
            // your code
            console.log("Double click!");
        }
        this.lastClickTime = currentTime;  // 记录下点击时的系统时间
    }
}

在上面的代码中,我们创建了一个名为 DoubleClickHandler 的组件,监听节点的 TOUCH_END事件。当触摸结束时,它会计算两次触摸之间的时间间隔,如果时间间隔小于设定的阈值(doubleClickInterval),则会执行双击操作。

0 人点赞