Всплывающие числа
Часть раздела Ощущения от игры путешествия по 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 уплыть вверх.
- После добавления метки перемести её с помощью tween на 40 пикселей вверх за
0.6секунды, изменяя"position:y". - Параллельно измени
"modulate:a"на0.0с помощью tween. - Выполни
awaitдляfinishedtween, затем вызовиlabel.queue_free().
Нажми «Играть» и нажми E: -1 поднимается и исчезает. Затем нажми «Проверить».
Попробуйте сами
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