Ikuti Jalurnya
Pelajaran 2 dari 18 dalam kursus Game Roblox: Tower Defense di Coddy.
Musuh berjalan di jalur yang ditandai oleh bagian-bagian tak terlihat di workspace.Path.Waypoints, yang diberi nama 1 hingga 6. GetChildren tidak menjamin urutan, jadi urutkan bagian-bagian itu berdasarkan angka dalam namanya terlebih dahulu:
table.sort(waypoints, function(a, b)
return tonumber(a.Name) < tonumber(b.Name)
end)Setiap musuh adalah model di ServerStorage.Enemies: klon model itu, letakkan di atas waypoint 1 dengan PivotTo, lalu jadikan workspace.Enemies sebagai parent-nya.
Humanoid berjalan dengan MoveTo, dan event MoveToFinished-nya aktif saat tiba. Humanoid menyerah setelah 8 detik dan memicu event dengan false, jadi musuh yang lambat di jalur yang panjang akan diperintahkan berjalan lagi hingga tiba:
repeat
humanoid:MoveTo(waypoints[i].Position)
until humanoid.MoveToFinished:Wait()Berjalan membutuhkan waktu, jadi walkPath berjalan di thread-nya sendiri dengan task.spawn, sementara skrip terus berjalan.
Tantangan
Mudah- Dapatkan
ServerStoragedanlocal enemies = workspace.Enemies. - Masukkan waypoint ke dalam list, lalu urutkan berdasarkan angka.
- Tulis
walkPath(enemy): untuk waypoint 2 hingga yang terakhir, gunakanMoveTosampaiMoveToFinishedmenyatakan bahwa musuh telah tiba. Hentikan jika musuh sudah tidak ada (not enemy.Parent). - Tulis
spawnEnemy(kind): clone modelnya, letakkan 5 studs di atas waypoint 1, jadikanenemiessebagai parent-nya, mulaiwalkPathdengantask.spawn, lalu kembalikan modelnya. - Spawn satu
"Zombie".
Tekan Mainkan dan lihat musuh berjalan. Lalu tekan Periksa.
Coba sendiri
local Players = game:GetService("Players")
local Settings = require(game.ReplicatedStorage.Settings)
print("The base can take " .. Settings.BaseHealth .. " hits")
-- Setiap pemain mendapat Money di papan peringkat
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)
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Game Roblox: Tower Defense
Latihan sendiri: Playground Roblox