Показать сообщение отдельно
  #1 (permalink)  
Старый 30.03.2017, 18:13
Аспирант
Отправить личное сообщение для АнонимныйПарень Посмотреть профиль Найти все сообщения от АнонимныйПарень
 
Регистрация: 17.03.2017
Сообщений: 67

Подкоректируйте код (есть один баг)
Ребята, здравствуйте!
Нужна помощь! Я делаю игру, у меня есть персонаж, который может "прыгать" и ходить в лево/право. Когда координата "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>
Ответить с цитированием