Ś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)]Wyzwanie
ŚredniZbuduj ścianę z 40 cegieł.
- W pliku
main.gddodajconst BRICK = preload("res://brick.tscn")oraz linięCOLORSz powyższego przykładu. - W funkcji
_readyzbuduj 5 rzędów po 8 cegieł w pozycjachVector2(68 + column * 72, 60 + row * 26). - 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