Гравитация в игре
- Предыдущая страница Звук в игре
- Следующая страница Отскок в игре
В некоторых играх существует сила, которая тянет компоненты в одном направлении, например, гравитация тянет объекты к земле.
сила тяжести
Если вы хотите добавить эту функцию в наш конструктор компонента, сначала добавьте один гравитация
Атрибут, который устанавливает текущую силу тяжести. Затем добавьте один gravitySpeed
Свойства, которые увеличиваются каждый раз, когда мы обновляем кадр:
Пример
function component(width, height, color, x, y, type) { this.type = type; this.width = width; this.height = height; this.x = x; this.y = y; this.speedX = 0; this.speedY = 0; this.gravity = 0.05; this.gravitySpeed = 0; this.update = function() { ctx = myGameArea.context; ctx.fillStyle = color; ctx.fillRect(this.x, this.y, this.width, this.height); } this.newPos = function() { this.gravitySpeed += this.gravity; this.x += this.speedX; this.y += this.speedY + this.gravitySpeed; } }
Точка касания
Чтобы предотвратить вечное падение красного блока, нам нужно остановить его падение, когда он достигает нижней границы игрового поля:
Пример
this.newPos = function() { this.gravitySpeed += this.gravity; this.x += this.speedX; this.y += this.speedY + this.gravitySpeed; this.hitBottom(); } this.hitBottom = function() { var rockbottom = myGameArea.canvas.height - this.height; if (this.y > rockbottom) { this.y = rockbottom; } }
Ускорить
В игре, когда сила тянет блок вниз, вам нужно спроектировать метод, который заставляет компонент ускоряться.
Когда кто-то нажимает на кнопку, вызывается функция, которая позволяет красному блоку взлететь в воздух:
Пример
<script> function ускорить(n) { myGamePiece.gravity = n; } </script> <button onmousedown="ускорить(-0.2)" onmouseup="ускорить(0.1)">Ускорить</button>
Одна игра
Создайте игру, основываясь на знаниях, которые мы получили до сих пор:
Пример
Нажмите кнопку ускорения, чтобы начать игру.
Сколько можно жить? Используйте кнопку ускорения, чтобы оставаться в воздухе.
- Предыдущая страница Звук в игре
- Следующая страница Отскок в игре