Menu
CoddyTech

Fabbrica di monete

Fa parte della sezione Scripting di giochi Roblox del percorso Lua di Coddy. Lezione 8 di 25.

Una tabella contiene un elenco di valori tra parentesi graffe e un ciclo for può visitarli tutti:

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

Questo stampa 4, 8 e 12. A ogni iterazione, h contiene il valore successivo. _ indica la posizione nell’elenco, che questo ciclo non deve usare.

Combina una tabella con una funzione e ottieni una funzione factory: una chiamata per ogni valore.

local function makeTree(x)
	-- costruisci un albero in x
end
for _, x in { -10, 0, 10 } do
	makeTree(x)
end

CanCollide = false permette ai giocatori di attraversare una parte; essa è comunque presente e visibile.

Una Folder raggruppa le parti, come workspace.Coins. Impostare Parent di una parte su una cartella la inserisce nel mondo all’interno di quella cartella.

challenge icon

Sfida

Facile

Completa la fabbrica di monete: makeCoin(z) crea una moneta d’oro e un ciclo la chiama per ogni numero in spots.

  1. In makeCoin, aggiungi coin.CanCollide = false e coin.Anchored = true.
  2. Aggiungi coin.Position = Vector3.new(0, 3, z), poi coin.Parent = workspace.Coins.
  3. Sotto la funzione: for _, z in spots do makeCoin(z) end.

Premi «Gioca»: cinque monete d’oro fluttuano in fila. Poi premi «Verifica».

Provalo tu

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. Attraversabile e ancorata
	-- 2. Posizionala in (0, 3, z), poi inseriscila in workspace.Coins
end

-- 3. Chiama makeCoin per ogni posizione

Tutte le lezioni di Scripting di giochi Roblox

Esercitati da solo: Compilatore Lua online