Хорошо, поэтому я разрабатываю простой клон Agar, но только с двумя игроками. Я получил большую часть базовой функциональности, но я не могу понять, как обрабатывать события нажатия клавиш одновременно у обоих игроков. (только один может двигаться за раз) Вот мой jsFiddle. Соответствующий фрагмент кода:Прослушивание нескольких событий нажатия клавиш одновременно
if (keysArr.toString() === "37,87") {
player.dir = "left";
player2.dir = "up";
keys = [];
}
if (keysArr.toString() === "38,87") {
player.dir = "up";
player2.dir = "up";
}
if (keysArr.toString() === "39,87") {
player.dir = "right";
player2.dir = "up";
}
if (keysArr.toString() === "40,87") {
player.dir = "down";
player2.dir = "up";
}
if (keysArr.toString() === "37,65") {
player.dir = "left";
player2.dir = "left";
}
if (keysArr.toString() === "38,65") {
player.dir = "up";
player2.dir = "left";
}
if (keysArr.toString() === "39,65") {
player.dir = "right";
player2.dir = "left";
}
if (keysArr.toString() === "40,65") {
player.dir = "down";
player2.dir = "left";
}
if (keysArr.toString() === "37,83") {
player.dir = "left";
player2.dir = "down";
}
if (keysArr.toString() === "38,83") {
player.dir = "up";
player2.dir = "down";
}
if (keysArr.toString() === "39,83") {
player.dir = "right";
player2.dir = "down";
}
if (keysArr.toString() === "40,83") {
player.dir = "down";
player2.dir = "down";
}
if (keysArr.toString() === "37,68") {
player.dir = "left";
player2.dir = "right";
}
if (keysArr.toString() === "38,68") {
player.dir = "up";
player2.dir = "right";
}
if (keysArr.toString() === "39,68") {
player.dir = "right";
player2.dir = "right";
}
if (keysArr.toString() === "40,68") {
player.dir = "down";
player2.dir = "right";
}
if (keysArr.toString() === "37") {
player.dir = "left";
}
if (keysArr.toString() === "38") {
player.dir = "up";
}
if (keysArr.toString() === "39") {
player.dir = "right";
}
if (keysArr.toString() === "40") {
player.dir = "down";
}
Я не мог понять, по-другому, так что я просто использовал кучу, если х.
Таким образом, этот код позволяет двум игрокам перемещаться одновременно, но после первоначального они не могут снова включаться. Как я могу это сделать, чтобы оба могли двигаться одновременно и впоследствии поворачиваться?
Отлично, спасибо. Тем не менее, я переделал его, чтобы он продолжал двигаться, так как это заставляет Агара бросать вызов; вы не можете остановиться. – Raiden