p5.j​​s mousePressed可以工作,但是doublePressed不能吗?

时间:2018-07-02 23:19:10

标签: p5.js

在编写自己的扫雷游戏时,我进入了一个阶段(最后一个阶段),必须介绍Flags的概念。目前,我正在使用mousePressed()打开可能是地雷的任何单元。但是我无法找到一种方法来标记任何单元格,因为我尝试使用doubleClicked(),但在这种情况下不起作用。有没有人对此有任何提示,或者有任何内置的p5.js工具可能只是标记了一个单元格?

编辑:

https://github.com/abj54/minesweeper

我的代码在上面的存储库中,适用于可能想要通过它的任何人。就标志而言,它是让用户猜测给定单元中哪个可能是地雷的基本指示。

1 个答案:

答案 0 :(得分:-1)

收听同一对象上的展位事件是有问题的,因为需要更改事件才能进行dblclick:

  1. 鼠标按下
  2. 鼠标
  3. 点击
  4. 鼠标按下
  5. 鼠标
  6. 点击
  7. dbclick

P5.js检查窗口的click / dblclick事件,因此您不应同时使用这两个功能(click和dblclick)。 但是您可以将click事件与Timeout一起使用来解决此问题。

window.addEventListener('click', function(e) {
    var element = e.target;
    var matches = element.msMatchesSelector || element.matches;
    if (matches.call(element, "#change-theme-btn")) {
       document.body.classList.toggle('pink-background');
    }
});

因此,如果第二次点击被调用并做出反应,则您正在等待clickTimeout定义的时间量。