Заставка: новые цвета
Часть раздела Узлы и сцены путешествия по 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== проверяет, равны ли два значения. Одиночный = присваивает значение.
Задание
ЛегкоПри каждом отскоке задавай логотипу следующий цвет.
- Напиши
func next_color():. Она прибавляет 1 кcolor_index, снова присваивает ему0, когда он становится равенcolors.size(), а затем задаётmodulate = colors[color_index]. - Вызови
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
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Узлы и сцены
2Каждый кадр
Процесс выполняется каждый кадрДельтаПиксели в секундуДвижение по диагоналиВращениеУвеличение масштаба5Проект: заставка
Заставка: дрейфЗаставка: боковые стеныПотренируйтесь самостоятельно: Песочница Godot