Menu
CoddyTech

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

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

На последнем шаге логотипу задаётся следующий цвет при каждом отскоке. Все четыре края делают одно и то же, поэтому вынеси это в одну функцию next_color() и вызывай её при каждом отскоке.

Функция увеличивает color_index на 1, а затем показывает colors[color_index]. При трёх цветах индекс принимает значения 1, затем 2, затем 3, для которого цвета нет. Поэтому, когда он равен colors.size() — количеству элементов, — присвой ему значение 0:

if color_index == colors.size():
	color_index = 0

== проверяет, равны ли два значения. Одиночный = присваивает значение.

challenge icon

Задание

Легко

При каждом отскоке задавай логотипу следующий цвет.

  1. Напиши func next_color():. Она прибавляет 1 к color_index, снова присваивает ему 0, когда он становится равен colors.size(), а затем задаёт modulate = colors[color_index].
  2. Вызови next_color() в обоих блоках if, после изменения направления.

Нажми «Играть»: при каждом отскоке будет отображаться следующий цвет из списка. Затем нажми «Проверить».

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

extends Node2D

var velocity = Vector2(200, 90)
var colors = [Color(0.49, 0.95, 0.75), Color(1, 0.78, 0.34), Color(1, 0.42, 0.42)]
var color_index = 0

func _ready():
	modulate = colors[0]

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