Menu
CoddyTech

Nhà máy sản xuất đồng xu

Thuộc phần Lập trình game Roblox trong hành trình Lua của Coddy. Bài học 8 trên 25.

Một bảng chứa danh sách các giá trị trong dấu ngoặc nhọn, và vòng lặp for có thể duyệt qua từng giá trị:

local heights = { 4, 8, 12 }
for _, h in heights do
	print(h)
end

Lệnh này in ra 4, 8 và 12. Trong mỗi lượt, h chứa giá trị tiếp theo. _ là vị trí trong danh sách, nhưng vòng lặp này không cần đến.

Kết hợp một bảng với một hàm, bạn sẽ có một hàm tạo: gọi hàm một lần cho mỗi giá trị.

local function makeTree(x)
	-- Tạo một cây tại x
end
for _, x in { -10, 0, 10 } do
	makeTree(x)
end

CanCollide = false cho phép người chơi đi xuyên qua một bộ phận; bộ phận đó vẫn ở đó và vẫn hiển thị.

Folder nhóm các bộ phận lại với nhau, chẳng hạn như workspace.Coins. Đặt Parent của một bộ phận thành một thư mục sẽ đưa bộ phận đó vào thế giới bên trong thư mục ấy.

challenge icon

Thử thách

Dễ

Hoàn thành nhà máy tạo xu: makeCoin(z) tạo một đồng xu vàng, còn vòng lặp gọi hàm này cho mọi số trong spots.

  1. Trong makeCoin, thêm coin.CanCollide = false và coin.Anchored = true.
  2. Thêm coin.Position = Vector3.new(0, 3, z), sau đó thêm coin.Parent = workspace.Coins.
  3. Bên dưới hàm: for _, z in spots do makeCoin(z) end.

Nhấn Chơi: năm đồng xu vàng lơ lửng thành một hàng. Sau đó nhấn Kiểm tra.

Tự làm thử

local spots = { 12, 6, 0, -6, -12 }

local function makeCoin(z)
	local coin = Instance.new("Part")
	coin.Name = "Coin"
	coin.Shape = Enum.PartType.Ball
	coin.Size = Vector3.new(2, 2, 2)
	coin.Color = Color3.fromRGB(255, 200, 40)
	-- 1. Cho phép đi xuyên qua và cố định tại chỗ
	-- 2. Đặt ở vị trí (0, 3, z), rồi đưa vào workspace.Coins
end

-- 3. Gọi makeCoin cho từng vị trí

Tất cả bài học trong Lập trình game Roblox

Tự luyện tập: Trình biên dịch Lua online