Тряска экрана
Часть раздела Ощущения от игры путешествия по Godot на Coddy. Урок 11 из 23.
Тряска экрана подчёркивает важный момент, например топот или взрыв. На этом уровне клавиша E вызывает start_shake() камеры, задавая shake значение 12. Пока ничего не движется.
У Camera2D есть offset — значение типа Vector2, которое смещает изображение, не перемещая узел камеры. Новое случайное смещение в каждом кадре заставляет изображение трястись.
offset = Vector2(randf_range(-shake, shake), randf_range(-shake, shake))Тряска должна прекратиться. Уменьшай shake к 0 в каждом кадре с помощью move_toward, чтобы скачки становились меньше.
shake = move_toward(shake, 0.0, 30.0 * delta)Когда shake достигает 0, оба случайных числа равны 0, а offset снова становится равным Vector2(0, 0).
Задание
СреднеВ _process:
- приближайте
shakeк 0 на30.0 * deltaс помощьюmove_toward, - задайте
offsetслучайныйVector2между-shakeиshakeпо каждой оси.
Затем нажмите E, чтобы выполнить удар.
Попробуйте сами
extends Camera2D
var shake = 0.0
func _ready():
limit_left = 0
limit_top = 0
limit_right = 1600
limit_bottom = 360
func start_shake():
shake = 12.0
func _process(delta):
pass
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Ощущения от игры
Потренируйтесь самостоятельно: Песочница Godot