Падение под действием гравитации
Часть раздела Ввод и перемещение путешествия по Godot на Coddy. Урок 12 из 28.
Эта игра показана сбоку, и герой начинает в воздухе. Гравитация заставляет его падать всё быстрее и быстрее, потому что с каждым кадром она увеличивает скорость падения.
Вниз — это большее значение y, поэтому гравитация увеличивает velocity.y:
var gravity = 1000
func _physics_process(delta):
velocity.y += gravity * delta
move_and_slide()gravity показывает, насколько увеличивается скорость падения за одну секунду. За один кадр к ней добавляется gravity * delta. К самой velocity по-прежнему никогда не прибавляется delta.
Когда герой приземляется на пол, move_and_slide() останавливает его и устанавливает velocity.y в 0.
Задание
ЛегкоЗаставь героя падать.
- В
_physics_process(), вышеmove_and_slide(), прибавьgravity * deltaкvelocity.y. - Используй
+=, чтобы с каждым кадром падение ускорялось.
Нажми «Играть»: герой будет падать всё быстрее и быстрее и приземлится на пол. Затем нажми «Проверить».
Попробуйте сами
extends CharacterBody2D
var gravity = 1000
func _physics_process(delta):
move_and_slide()
Все уроки раздела Ввод и перемещение
3Гравитация и прыжки
Падение под действием гравитацииПрыжок вверхТолько с полаБег и прыжокПрыжок с переменной высотойДвойной прыжокПотренируйтесь самостоятельно: Песочница Godot