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

Заставка: Новые цвета

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

На последнем шаге логотип меняет цвет при каждом отскоке. Храни цвета в списке, записанном в квадратных скобках. colors[0] — это первый цвет, colors[1] — второй. Индекс указывает, какой цвет будет следующим:

var colors = [
	Color(0.49, 0.95, 0.75),
	Color(1, 0.78, 0.34),
]
var color_index = 0

Все четыре стены делают одно и то же, поэтому помести это в одну функцию, которую вызывает каждый отскок. Она устанавливает modulate в цвет с индексом color_index, а затем увеличивает индекс на 1.

Когда индекс достигает colors.size(), цвета с таким индексом нет. Установи индекс обратно на 0, и цвета начнутся сначала.

challenge icon

Задание

Легко
  • Добавь переменную узла colors: список как минимум из трёх цветов (мятный, янтарный, коралловый и синий цвета из курса — это Color(0.49, 0.95, 0.75), Color(1, 0.78, 0.34), Color(1, 0.42, 0.42) и Color(0.369, 0.635, 1)), а также color_index = 0.
  • Напиши next_color(): присвой modulate цвет с индексом color_index, увеличь индекс на 1 и сбрось его до 0 в конце списка.
  • Вызывай эту функцию при каждом отскоке: от боковых сторон, верхней и нижней границ.

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

extends Node2D

var velocity = Vector2(200, 90)

func _process(delta):
	position += velocity * delta
	if position.x > 570 or position.x < 70:
		velocity.x = -velocity.x
	if position.y > 330 or position.y < 30:
		velocity.y = -velocity.y
quiz iconПроверьте себя

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

Все уроки раздела Узлы и сцены

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