Menu
CoddyTech

Bức tường gạch

Thuộc phần Dự án trong hành trình Godot của Coddy. Bài học 5 trên 36.

Tiếp theo là các viên gạch: 5 hàng, mỗi hàng 8 viên, được tạo bởi main.gd khi trò chơi bắt đầu. Viên gạch là một cảnh, brick.tscn, mà bạn tải trước bằng preload rồi tạo thực thể bằng instantiate.

Vòng lặp for chạy một lần cho mỗi số. for row in 5: chạy với row lần lượt từ 0 đến 4. Một vòng lặp bên trong vòng lặp khác sẽ duyệt qua từng cột của mỗi hàng:

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

Các cột cách nhau 72 pixel và các hàng cách nhau 26 pixel. Như vậy sẽ có một khoảng trống nhỏ giữa các viên gạch có kích thước 64 x 20.

Mỗi hàng lấy màu từ một danh sách. Gán brick.color = COLORS[row] trước khi thêm viên gạch: viên gạch tự tô màu trong _ready(), hàm này chạy bên trong 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

Thử thách

Trung bình

Xây một bức tường gồm 40 viên gạch.

  1. Trong main.gd, thêm const BRICK = preload("res://brick.tscn") và dòng COLORS ở trên.
  2. Trong _ready, tạo 5 hàng, mỗi hàng có 8 viên gạch tại Vector2(68 + column * 72, 60 + row * 26).
  3. Đặt brick.color = COLORS[row] trước khi thêm từng viên gạch bằng add_child.

Nhấn Chơi: năm hàng gạch nhiều màu lấp đầy phía trên. Sau đó, nhấn Kiểm tra.

Tự làm thử

extends Node2D

func _ready():
	pass

Tất cả bài học trong Dự án

Tự luyện tập: Playground Godot