【问题标题】:Processing.js: p.keyReleased is not a function / simulating keyReleasedProcessing.js:p.keyReleased 不是函数/模拟 keyReleased
【发布时间】:2013-11-02 22:00:51
【问题描述】:

我正在制作一款单键多人游戏,这需要我同时跟踪多个键。在处理中,我通过为要跟踪的键创建布尔值来做到这一点,然后使用 keyPressed 和 keyReleased 函数来更改布尔值。

问题是,现在当我尝试将我的处理文件移植到网页(使用 processingjs)时,它只能识别 keyPressed,而即使尝试使用 keyReleased 也会在标题中出现错误。

所以我的问题是,有没有办法让 keyReleased 函数在 processingjs 中工作,或者是否有一种解决方法可以让我模拟 keyReleased,即使我们从按下 3 个键到 2 个?

这是我正在处理的代码:

void keyPressed() {
  if (keyCode == UP) {
    up = true;
  }
if (keyCode == DOWN) {
    down = true;
  }
}

void keyReleased() {
  if (keyCode == UP) {
    up = false;
  }
if (keyCode == DOWN) {
    down = false;
  }
}

等等。对于我正在使用的所有 7 个键

【问题讨论】:

    标签: javascript key processing processing.js


    【解决方案1】:

    Processing 的 javascript 端口中的 keyReleased 函数对我来说似乎工作得很好。您是否可能在 HTML 或 Javascript 中犯了错误?

    我并不真正了解 Processing 应该如何正常工作,但是 HTML/Javascript 中的这段代码为我检测到按下和释放 UP 和 DOWN 键并相应地更新它下面的标签(您必须先单击画布给它重点)。

    <html>
    <script src="http://cloud.github.com/downloads/processing-js/processing-js/processing-1.4.1.js"></script>
    <body>
    <script type="application/processing">
    var labelUp = document.getElementById("up");
    var labelDown = document.getElementById("down");
    
    void setup()
    {
      size(200, 200);
    }
    
    void keyPressed() 
    {
        if (keyCode==UP)
            labelUp.innerHTML="UP: true";
        else if (keyCode==DOWN)
            labelDown.innerHTML="DOWN: true";
    }
    
    void keyReleased() 
    {
        if (keyCode==UP)
            labelUp.innerHTML="UP: false";
        else if (keyCode==DOWN)
            labelDown.innerHTML="DOWN: false";
    }
    </script>
    
    <canvas width="200" height="200"></canvas><br />
    
    <span id="up">UP: false</span><br />
    <span id="down">DOWN: false</span>
    
    </body>
    </html>
    

    【讨论】:

      猜你喜欢
      • 2015-09-20
      • 2021-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-14
      • 2019-03-20
      • 2018-06-24
      相关资源
      最近更新 更多