시작하기
중급 튜토리얼

치명적인 용암

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

스크립팅 소개에서 경험의 변화를 시간에 따라 반복적으로 만드는 방법을 배웠습니다. 사용자 행동에 따라 변화를 주고 싶다면 어떻게 해야 할까요? 본 자습서에서는 사용자가 접촉할 때 사망하는 치명적인 용암 바닥을 만드는 방법을 배웁니다.

설정

치명적인 용암을 두기 위해 여러분의 세계에 위치가 필요합니다. 스크립팅 소개 과정을 따라 했다면, 용암 바닥은 사라지는 플랫폼으로 덮인 간격에 잘 맞을 것입니다.

  1. Part를 삽입하고 여러분의 세계에 제자리에 이동시킵니다. 이름을 LavaFloor로 지정합니다.

  2. 울타리의 바닥을 덮을 수 있도록 크기를 조정합니다.

  3. Material 속성을 Neon으로 설정하고 Color를 주황색으로 설정하여 바닥이 용암처럼 보이도록 만듭니다.

  4. LavaFloor 부분에 스크립트를 삽입하고 이름을 Kill로 변경합니다.

  5. 기본 코드를 제거하고 용암을 위한 변수를 생성합니다.


    local lava = script.Parent

이벤트에 연결

사용자가 용암에 접촉할 때를 감지하기 위해 이벤트를 사용합니다. 모든 부분에는 뭔가가 그것에 접촉할 때 발생하는 Touched 이벤트가 있습니다. 이 이벤트에 연결하여 발생할 때 함수를 실행할 수 있습니다.

  1. kill이라는 새로운 함수를 선언합니다.

  2. 점을 사용하여 용암 객체의 Touched 이벤트에 접근합니다: lava.Touched.

  3. Touched 이벤트에서 Connect 함수를 호출하여 부분이 접촉할 때 호출할 함수로 kill()을 전달합니다.


    local lava = script.Parent
    local function kill()
    end
    lava.Touched:Connect(kill)

이제 kill 함수 내에서 작성한 모든 코드는 무언가가 용암에 접촉할 때마다 실행됩니다. 여기서 Connect 함수에 대해 콜론이 사용되며, 점이 아님을 유의하세요 - 이 점에서는 왜 그런지 걱정하지 말고, 그 차이점을 기억하세요.

접촉하는 부분 얻기

사용자를 죽이기 위해서는 함수에 그 사용자와 연결된 객체가 필요합니다. 부분의 Touched 이벤트는 그것에 접촉한 "다른 부분"을 제공할 수 있습니다 — 그러나 함수의 매개변수로 요청해야만 가능합니다.

매개변수는 함수가 호출될 때 예상하는 수신 정의입니다. 매개변수는 다른 변수처럼 함수 내에서 사용할 수 있습니다. 함수를 호출할 때 괄호 내에 포함하여 매개변수에 정보를 전달할 수 있습니다. 매개변수는 함수의 첫 번째 줄 괄호에서 정의됩니다. kill 함수에 otherPart라는 매개변수를 생성합니다.


local lava = script.Parent
local function kill(otherPart)
end
lava.Touched:Connect(kill)

kill 함수가 호출되면 otherPart 매개변수는 용암 바닥에 접촉한 부분을 나타내며, 함수에서 작성할 코드는 이를 사용할 수 있습니다.

캐릭터와 휴머노이드

사용자가 용암에 접촉하면, Roblox는 용암에 접촉한 사용자의 특정 신체 부위를 감지할 수 있습니다. 예를 들어, 왼쪽 다리 또는 오른쪽 발 등이 될 수 있습니다. 이 부분은 사용자의 Character 모델에 있으며, 이는 경험 내에서 사용자의 아바타를 구성하는 모든 객체를 포함합니다:

  • 사용자의 개별 신체 부위, 예를 들어 머리, 팔다리, 몸통.
  • 사용자가 착용하는 의류 및 액세서리.
  • 사용자의 건강과 관련된 많은 속성을 포함하는 특별한 객체인 Humanoid.
  • 사용자의 움직임을 제어하는 HumanoidRootPart.

이전에 언급했듯이 용암에 접촉하는 신체 부위는 Character 모델의 일부이므로 otherPart.Parent를 사용하여 해당 캐릭터에 대한 참조를 얻을 수 있습니다. 용암 바닥에 접촉한 부분의 부모를 저장할 변수를 생성합니다.


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
end
lava.Touched:Connect(kill)

캐릭터 모델에서 사용자를 죽이기 위해 Humanoid 객체를 가져와야 합니다. 이를 위해 FindFirstChild() 함수를 사용할 수 있습니다 — 찾고 있는 것의 이름을 전달하기만 하면 해당 객체에서 찾은 첫 번째 일치하는 자식을 제공합니다. partParent 변수에서 "Humanoid"를 찾도록 FindFirstChild()를 호출하고, 결과를 humanoid라는 새로운 변수에 저장합니다.


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
end
lava.Touched:Connect(kill)

휴머노이드 확인

휴머노이드가 발견되었는지 쉽게 확인할 수 있는 if 문을 사용합니다. if 문 내의 코드는 첫 번째 줄에 정의된 조건이 참일 때만 실행됩니다.

보다 복잡한 조건을 구성하는 데 사용할 수 있는 다양한 연산자가 있으며, 이를 향후 과정에서 접할 수 있습니다 - 지금은 humanoid 변수를 여기에 넣어 두세요. humanoid를 조건으로 하는 if 문을 생성합니다.


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
end
end
lava.Touched:Connect(kill)

캐릭터 건강 설정

이제 Humanoid가 확인되었으므로 그 속성을 변경할 수 있습니다. Health 속성을 0으로 설정하면 연결된 캐릭터가 사망합니다. if 문 본문에서 humanoid의 Health 속성을 0으로 설정합니다.


local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
lava.Touched:Connect(kill)

이제 용암 바닥이 완성되었습니다! 경험을 테스트하면 치명적인 용암이 사용자를 성공적으로 죽인다는 것을 알 수 있습니다. 여러분의 용암을 오비의 추가 도전으로 사용하거나 세계의 경계를 설정해 보세요.

최종 코드


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
lava.Touched:Connect(kill)
©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.