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

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

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

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

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

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