Menu
CoddyTech

경로 따라가기

Coddy의 Roblox 게임: 타워 디펜스 코스 레슨. 18개 중 2번째.

적들은 workspace.Path.Waypoints에 있는 보이지 않는 파트로 표시된 경로를 따라 걷습니다. 파트의 이름은 1부터 6까지입니다. GetChildren은 순서를 보장하지 않으므로, 먼저 이름에 있는 숫자를 기준으로 정렬하세요:

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

각 적은 ServerStorage.Enemies에 있는 모델입니다. 이를 복제하고, PivotTo로 웨이포인트 1 위에 배치한 다음, workspace.Enemies를 부모로 설정하세요.

Humanoid는 MoveTo로 이동하며, 도착하면 MoveToFinished 이벤트가 발생합니다. 8초가 지나면 포기하고 false와 함께 이벤트를 발생시키므로, 긴 구간에서 느리게 이동하는 적은 도착할 때까지 다시 이동 명령을 받습니다:

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

이동에는 시간이 걸리므로 walkPath는 task.spawn을 사용해 자체 스레드에서 실행되고, 스크립트는 계속 진행됩니다.

challenge icon

챌린지

쉬움
  1. ServerStorage와 local enemies = workspace.Enemies를 가져옵니다.
  2. 웨이포인트를 목록에 넣고 숫자 순으로 정렬합니다.
  3. walkPath(enemy)를 작성합니다. 웨이포인트 2번부터 마지막까지, 도착했다고 MoveToFinished가 알릴 때까지 MoveTo를 실행합니다. 적이 사라지면(not enemy.Parent) 중지합니다.
  4. spawnEnemy(kind)를 작성합니다. 모델을 복제하고, 웨이포인트 1번보다 5 스터드 위에 배치한 다음, enemies를 부모로 설정하고, task.spawn으로 walkPath를 시작한 뒤 반환합니다.
  5. "Zombie" 하나를 생성합니다.

Play를 눌러 걷는 모습을 지켜보세요. 그런 다음 Check를 누르세요.

직접 해보기

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

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

-- 모든 플레이어는 리더보드에 Money를 받습니다
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 icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Roblox 게임: 타워 디펜스의 모든 레슨