Menu
CoddyTech

Стена из блоков

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

Далее идут кирпичи: 5 рядов по 8 штук, которые создаёт main.gd при запуске игры. Кирпич — это сцена brick.tscn, которую вы preload и instantiate.

Цикл for выполняется по одному разу для каждого числа. for row in 5: выполняется, когда row принимает значения от 0 до 4. Цикл внутри цикла перебирает каждый столбец в каждом ряду:

for row in 5:
	for column in 8:
		var brick = BRICK.instantiate()
		brick.position = Vector2(68 + column * 72, 60 + row * 26)
		add_child(brick)

Расстояние между столбцами — 72 пикселя, а между рядами — 26. Так между кирпичами размером 64 на 20 пикселей остаётся небольшой зазор.

Каждый ряд получает свой цвет из списка. Присвойте brick.color = COLORS[row] до добавления кирпича: он сам закрашивается в _ready(), которая выполняется внутри add_child.

const COLORS = [Color(1, 0.42, 0.42), Color(1, 0.78, 0.34), Color(0.49, 0.95, 0.75), Color(0.369, 0.635, 1), Color(0.75, 0.82, 0.95)]
challenge icon

Задание

Средне

Построй стену из 40 кирпичей.

  1. В main.gd добавь const BRICK = preload("res://brick.tscn") и строку COLORS из примера выше.
  2. В _ready создай 5 рядов по 8 кирпичей в позициях Vector2(68 + column * 72, 60 + row * 26).
  3. Задай brick.color = COLORS[row] перед тем, как добавлять каждый кирпич с помощью add_child.

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

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

extends Node2D

func _ready():
	pass

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

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