Menu
CoddyTech
flag Ru iconРусскийdown icon

Падение под действием гравитации

Часть раздела Ввод и перемещение путешествия по 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.

challenge icon

Задание

Легко

Заставь героя падать под действием gravity. Добавляй gravity * delta к velocity.y каждый физический кадр, перед вызовом move_and_slide(). Он должен падать всё быстрее и быстрее и приземлиться на пол.

Попробуйте сами

extends CharacterBody2D

var gravity = 1000

func _physics_process(delta):
	move_and_slide()
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Ввод и перемещение

Потренируйтесь самостоятельно: Песочница Godot