如何使用键移动对象

How to move an object with keys

我不明白为什么这行不通,任何人都可以帮助我,我正在使用 p5.js 但它行不通:

let x = 50, y = 50;

function setup() {
  createCanvas(200, 200);
}

function draw() {
  rect(x, y, 50, 50);
  if (this.keyPressed(87)) {
    y -= 5;
  } else if (keyIsDown(83)) {
    y += 5;
  } else if (keyIsDown(65)) {
    x -= 5;
  } else if (keyIsDown(68)) {
    x += 5;
  }
}
<!DOCTYPE html>
<html lang="en">

<head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.3.1/p5.min.js"></script>
</head>

<body>
</body>

</html>

您应该在第一个 if 语句中调用 keyIsDown(87) 而不是 this.keyPressed(87)。通过此更改,A-W-S-D 键可用于移动矩形(请注意,在使用键盘之前单击草图以确保它具有焦点)。

let x = 50, y = 50;

function setup() {
  createCanvas(200, 200);
}

function draw() {
  rect(x, y, 50, 50);
  // This used to be this.keyPressed(87) which caused an error
  if (keyIsDown(87)) {
    y -= 5;
  } else if (keyIsDown(83)) {
    y += 5;
  } else if (keyIsDown(65)) {
    x -= 5;
  } else if (keyIsDown(68)) {
    x += 5;
  }
}
<!DOCTYPE html>
<html lang="en">

<head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.3.1/p5.min.js"></script>
</head>

<body>
</body>

</html>