Menu
CoddyTech

Ściana z cegieł

Część sekcji Projekty ścieżki Godot w Coddy. Lekcja 5 z 36.

Następne są klocki: 5 rzędów po 8, tworzone przez main.gd po uruchomieniu gry. Klocek jest sceną brick.tscn, którą ładujesz przez preload i tworzysz za pomocą instantiate.

Pętla for wykonuje się raz dla każdej liczby. for row in 5: wykonuje się, gdy row przyjmuje wartości od 0 do 4. Pętla wewnątrz pętli odwiedza każdą kolumnę w każdym rzędzie:

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

Kolumny są oddalone od siebie o 72 piksele, a rzędy o 26. Pozostawia to niewielką przerwę między klockami o wymiarach 64 na 20.

Każdy rząd pobiera swój kolor z listy. Ustaw brick.color = COLORS[row] przed dodaniem klocka: klocek maluje się sam w _ready(), które uruchamia się wewnątrz 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

Wyzwanie

Średni

Zbuduj ścianę z 40 cegieł.

  1. W pliku main.gd dodaj const BRICK = preload("res://brick.tscn") oraz linię COLORS z powyższego przykładu.
  2. W funkcji _ready zbuduj 5 rzędów po 8 cegieł w pozycjach Vector2(68 + column * 72, 60 + row * 26).
  3. Ustaw brick.color = COLORS[row] przed dodaniem każdej cegły za pomocą add_child.

Naciśnij „Graj”: pięć kolorowych rzędów cegieł wypełni górną część. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

extends Node2D

func _ready():
	pass

Wszystkie lekcje w sekcji Projekty

Poćwicz samodzielnie: Edytor online Godot