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

Вспышка героя

Часть раздела Проекты путешествия по Godot на Coddy. Урок 31 из 33.

Потерянное сердце легко не заметить на верхней панели. При попадании пусть герой вспыхивает красным, а затем цвет постепенно возвращается. Для этого используется твининг в функции flash() героя:

func flash():
	modulate = Color(1, 0.3, 0.3)
	var tween = create_tween()
	tween.tween_property(self, "modulate", Color(1, 1, 1), 0.5)

Оттенок сразу становится красным, а затем твининг возвращает его к белому за полсекунды. modulate меняет оттенок героя и всех его дочерних узлов.

main.gd вызывает $Hero.flash() при каждом попадании. Можно вызвать функцию другого узла через этот узел.

challenge icon

Задание

Средне
  1. В hero.gd напиши flash(): установи modulate в Color(1, 0.3, 0.3), затем плавно верни его к Color(1, 1, 1) за 0.5 секунды.
  2. В main.gd вызови $Hero.flash(), когда охранник коснётся героя.

Попробуйте сами

extends CharacterBody2D

const SPEED = 160

func _physics_process(delta):
	velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * SPEED
	move_and_slide()
quiz iconПроверьте себя

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

Все уроки раздела Проекты

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