Menu
CoddyTech

Всплывающие числа

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

challenge icon

Задание

Средне

Заставь -1 уплыть вверх.

  1. После добавления метки перемести её с помощью tween на 40 пикселей вверх за 0.6 секунды, изменяя "position:y".
  2. Параллельно измени "modulate:a" на 0.0 с помощью tween.
  3. Выполни await для finished tween, затем вызови 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)
quiz iconПроверьте себя

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

Все уроки раздела Ощущения от игры

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