@dima89e

Почему элемент не передвигается по Y, а увеличивается по высоте?

const canvas = document.querySelector('#canvas'),
	ctx = canvas.getContext('2d')

let dinoY = 140;

function initCanvas() {
  canvas.width = canvas.clientWidth;
  canvas.height = canvas.clientHeight;
  ctx.fillStyle = 'lightgray';
  ctx.fillRect(0, 0, canvas.width, canvas.height);
}

initCanvas();
window.onresize = initCanvas;

function draw() {
  ctx.fillStyle = 'green';
  ctx.fillRect(50, dinoY, 50, 70);
  ctx.fillStyle = 'black';
  ctx.fillRect(0, 210, canvas.width, 1);

  requestAnimationFrame(draw);
}
draw();

function jump() {
  setInterval(() => {
    dinoY--;
  }, 0);
}

window.onkeydown = (e) => {
  jump();
};
  • Вопрос задан
  • 66 просмотров
Решения вопроса 2
Alexandroppolus
@Alexandroppolus
кодир
Если ты про зелёный прямоугольник, то в функции draw не стирается предыдущий, просто к нему дорисовывается новый. Надо делать ctx.fillStyle = 'lightgray'; и закрашивать, потом рисовать новый
Ответ написан
@dima89e Автор вопроса
Вообщем, разобрался, надо было clearRect прописать
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
15 июн. 2024, в 19:19
10000 руб./за проект
15 июн. 2024, в 17:26
50000 руб./за проект