Menu
CoddyTech

Percorri il sentiero

Lezione 2 di 18 del corso Gioco Roblox: Tower Defense di Coddy.

I nemici percorrono un cammino segnato da parti invisibili in workspace.Path.Waypoints, chiamate da 1 a 6. GetChildren non garantisce alcun ordine, quindi prima ordinali in base al numero nel loro nome:

table.sort(waypoints, function(a, b)
	return tonumber(a.Name) < tonumber(b.Name)
end)

Ogni nemico è un modello in ServerStorage.Enemies: clonalo, posizionalo sopra il waypoint 1 con PivotTo e impostane il parent su workspace.Enemies.

Un Humanoid cammina con MoveTo e il suo evento MoveToFinished si attiva quando arriva. Dopo 8 secondi rinuncia e si attiva con false, quindi un nemico lento su un tratto lungo riceve di nuovo l'ordine finché non arriva:

repeat
	humanoid:MoveTo(waypoints[i].Position)
until humanoid.MoveToFinished:Wait()

Camminare richiede tempo, quindi walkPath viene eseguito nel proprio thread con task.spawn e lo script prosegue.

challenge icon

Sfida

Facile
  1. Ottieni ServerStorage e local enemies = workspace.Enemies.
  2. Inserisci i punti di passaggio in un elenco e ordinali in base al numero.
  3. Scrivi walkPath(enemy): per i punti di passaggio dal 2 all'ultimo, esegui MoveTo finché MoveToFinished non indica che è arrivato. Interrompi se il nemico non c'è più (not enemy.Parent).
  4. Scrivi spawnEnemy(kind): clona il modello, posizionalo 5 stud sopra il punto di passaggio 1, assegnagli enemies come genitore, avvia walkPath con task.spawn e restituiscilo.
  5. Genera uno "Zombie".

Premi Play e guardalo camminare. Poi Check.

Provalo tu

local Players = game:GetService("Players")
local Settings = require(game.ReplicatedStorage.Settings)

print("The base can take " .. Settings.BaseHealth .. " hits")

-- Ogni giocatore riceve Money nella classifica
Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local money = Instance.new("IntValue")
	money.Name = "Money"
	money.Value = Settings.StartMoney
	money.Parent = leaderstats
end)
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Gioco Roblox: Tower Defense