Ребята, здравствуйте!
Нужна помощь! Я делаю игру, у меня есть персонаж, который может "прыгать" и ходить в лево/право. Когда координата "Y" у персонажа больше определенной цифры, персонаж уменьшает свой "Y", то-есть опускается. Баг состоит в том, что человек может нажать несколько раз на кнопку прыжка, я хотел бы что б до момента приземления персонажа, нельзя было нажать на кнопку прыжка. Помогите, пожалуйста, подредактировать код.
КОД:
jQuery( document ).ready(function() {
//Создаю canvas
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var width = 700;
var height = 700;
//Добавляю стили для canvas
canvas.width = width;
canvas.height = height;
canvas.style.border = "1px solid black";
//Константы и глобальные переменные
var x = 150;
var y = 250;
var dx = 3;
var dy = 50;
var x2 = 135;
var y2 = 387;
//Создаю Боба
var img = new Image();
img.src = 'images/bob.png';
var bobDraw = function () {
context.drawImage(img, x, y, 66, 132);
context.drawImage(img2, x2, y2, 100, 100);
};
var img2 = new Image();
img2.src = 'images/grass.png';
var grassDraw = function () {
context.drawImage(img2, x2, y2, 100, 100);
};
//Игровой цикл
var z = setInterval(function () {
context.clearRect(0, 0, width, height);
// Управление Бобом
window.onkeydown = function (e) {
if(e.keyCode == 87) { //W
//console.log(dy);
y += -dy;
}
if(e.keyCode == 65) { //A
x += -dx;
//console.log(dx); Скорость
img.src = 'images/bob2.png';
}
if(e.keyCode == 83) { //S
console.log("S");
}
if(e.keyCode == 68) { //D
x += dx;
//console.log(dx); Скорость
img.src = 'images/bob.png';
}
};
if (y <= 250) {
y += 5;
};
if (y <= 200) {
y += 10;
};
if (y <= 120) {
y += 15;
};
bobDraw();
grassDraw();
}, 200);
});
<!DOCTYPE html>
<html>
<head>
<title>TEST</title>
<link href="style.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<canvas id="canvas"></canvas>
</body>
</html>