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.
Sfida
Facile- Ottieni
ServerStorageelocal enemies = workspace.Enemies. - Inserisci i punti di passaggio in un elenco e ordinali in base al numero.
- Scrivi
walkPath(enemy): per i punti di passaggio dal 2 all'ultimo, eseguiMoveTofinchéMoveToFinishednon indica che è arrivato. Interrompi se il nemico non c'è più (not enemy.Parent). - Scrivi
spawnEnemy(kind): clona il modello, posizionalo 5 stud sopra il punto di passaggio 1, assegnaglienemiescome genitore, avviawalkPathcontask.spawne restituiscilo. - 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)
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.