Игра Vue: холст не очищен

#vue.js #vue-component

#vue.js #vue-компонент

Вопрос:

С помощью Vue я создаю классическую игру snake.

Я не могу заставить змею двигаться в разных направлениях. И после нажатия кнопки холст не очищается, несмотря на функцию clear(). Чего мне не хватает?

Ссылка на скрипку

Ответ №1:

SnakeCanvas.vue Строка 104

Изменить

 this.boardContext.clearRect(0, 0, this.boardSizePx, this.boardSize);
 

Для

 this.boardContext.clearRect(0, 0, this.boardSizePx, this.boardSizePx);
 

Комментарии:

1. знаете ли вы, почему он не перемещается при нажатии клавиш? @ani1998ket

2. @learnjspsde строка 123 я думаю, вам следовало использовать event.keyCode вместо keyCode. Попытка протоколирования значений перед их использованием предотвратит появление подобных ошибок.

3. @learnjspsde const newDirection = Constants.find((c) => c.keyCode === event.keyCode);

4. @learnjspsde Не могли бы вы, пожалуйста, принять ответ, иначе это похоже на открытый вопрос, который требует другого ответа. : D

5. извините за позднее действие, теперь оно принято!