Всплывающие числа
Часть раздела Ощущения от игры путешествия по Godot на Coddy. Урок 19 из 23.
Всплывающее после удара число сообщает игроку, что произошло.
Метод hit() робота уже создает Label с надписью -1 над его головой. Как и щепки от ящика, эта метка добавляется в get_parent(), поэтому она не движется и не мигает вместе с роботом.
Чтобы заставить ее всплывать, одновременно анимируй ее "position:y" вверх, а "modulate:a" — до 0. Когда анимация завершится, удали метку с помощью label.queue_free(). Иначе она останется в игре невидимой.
var rise = create_tween()
rise.tween_property(label, "position:y", label.position.y - 40, 0.6)Первое значение tween_property — это узел, который нужно изменить. Здесь это label, а не self.
Задание
СреднеЗаставь -1 улететь. После добавления метки:
- анимируй её
"position:y", переместив на 40 пикселей вверх за 0.6 секунды, - параллельно анимируй её
"modulate:a"до значения0.0, - дождись завершения анимации с помощью
await, а затем вызовиlabel.queue_free().
Попробуйте сами
extends Node2D
func hit():
modulate = Color(4, 4, 4)
var tween = create_tween()
tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)
var label = Label.new()
label.text = "-1"
label.modulate = Color(1, 0.42, 0.42)
label.position = position + Vector2(-8, -110)
get_parent().add_child(label)
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Ощущения от игры
1Твины
Ваш первый твинАнимируйте любое свойствоЗатуханиеПлавное замедлениеОдин за другимОдновременноМонетка, которая подпрыгивает4Вспышки и обратная связь
Вспышка при попаданииЗаморозка при попаданииСжатие и растяжениеВсплывающие числаПотренируйтесь самостоятельно: Песочница Godot