#javascript #html
#javascript #HTML
Вопрос:
Итак, я немного новичок в JS, и я хотел бы знать, как установить ограничение по высоте или высоте в этой небольшой игре на холсте. Это практически код W3, но учитель сказал нам просто смоделировать его. Я хотел исправить досадную проблему простого перепрыгивания через карту, чтобы избежать препятствий.
Я действительно не знаю, что попробовать, поскольку высота задается canvas . Я попытался создать новую функцию на основе hitBottom(), которая не удалась.
Просто хотел установить ограничение по высоте или высоте. Вот исходный источник: Здесь . Все буквально то же самое, кроме цветов.
Комментарии:
1. Создайте метод, аналогичный тому, в
hitBottom
котором вы проверяете, достигла ли ваша координата y предела. Если это произойдет, сбросьте скорость гравитации обратно на 0, чтобы предотвратить дальнейшее повышение.
Ответ №1:
Что вы хотите сделать, так это посмотреть, является ли текущая позиция y ниже 0, поскольку это будет «крыша» комнаты. Если позиция игрока y ниже 0, сбросьте ее обратно на 0 и остановите ускорение.
this.hitTop = function() {
if (this.y < 0) {
this.y = 0;
this.gravitySpeed = 0;
}
}
И к функции newpos вы хотите вызвать эту функцию, поэтому добавьте это:
this.hitTop();
Ответ №2:
Проверьте позицию y в newPos
методе после увеличения позиции y. Если оно меньше 0
, то сделайте это 0
. Код должен выглядеть следующим образом;
this.newPos = function() {
this.gravitySpeed = this.gravity;
this.x = this.speedX;
this.y = this.speedY this.gravitySpeed;
/* Add below 4 lines */
if (this.y <= 0) {
this.y = 0;
this.gravitySpeed = 0;
}
/* Add above 4 lines */
this.hitBottom();
}
Счастливого кодирования 😉