Падение под действием гравитации
Часть раздела Ввод и перемещение путешествия по 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.
Задание
ЛегкоЗаставь героя падать под действием gravity. Добавляй gravity * delta к velocity.y каждый физический кадр, перед вызовом move_and_slide(). Он должен падать всё быстрее и быстрее и приземлиться на пол.
Попробуйте сами
extends CharacterBody2D
var gravity = 1000
func _physics_process(delta):
move_and_slide()
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Ввод и перемещение
3Гравитация и прыжки
Падение под действием гравитацииПрыжок вверхТолько с полаБег и прыжокПрыжок с переменной высотойДвойной прыжокПотренируйтесь самостоятельно: Песочница Godot