我正在创建游戏,但是遇到一个问题,我想向左或向右移动玩家,但是当我按下按钮时,它只能向左或向右移动一次,而不是连续移动
var player 1 = new Player(width / 4)
function keyPressed() {
if (key === "d") {
player1.move(1);
} else if (key === "a") {
player1.move(-1);
}
}
function Player(xPos) {
this.x = xPos;
this.y = height - 100;
this.show = function() {
fill(255);
rectMode(CENTER);
rect(this.x, this.y, 50, 100);
}
this.move = function(dir) {
this.x += dir * 5;
}
}
答案 0 :(得分:0)
使用keyIsDown()
代替keyPressed()
。
keyIsDown()函数检查密钥当前是否处于按下状态,即 按下。如果您有一个可移动的物体并且想要 几个键可以同时影响其行为,例如 对角移动精灵。您可以输入代表 键的keyCode,或使用任何可变的keyCode名称 在这里列出。
也应该在draw()
函数内部:
function draw(){
if(keyIsDown("d")){
player1.move(1);
}
if (keyIsDown("a")) {
player1.move(-1);
}
}