In 스크립트 작성 소개 에서, 시간 순으로 경험에서 변경을 만드는 방법을 배웠습니다. 사용자 행동에 따라 변경을 만드는 경우 어떻습니까? 이 튜토리얼에서는 사용자가 경험에 들어갈 때 죽을 수 있는 치명적인 용암 층을 만드는 방법을 배웁니다.
설정
치명적인 용암을 세계에 넣을 장소가 필요합니다. 스크립트 소개 코스를 따라 누렁이 플랫폼을 덮은 간격에 딱 들어맞는 용암 층이 있습니다.
삽입하고 세계에 배치하십시오. Part이라고 이름지으십시오.
범위 공간의 바닥을 덮도록 크기를 조정하십시오.
바닥를 더 용암처럼 보이도록 하려면 Material 속성을 Neon 및 Color를 오렌지 셰이드로 설정하십시오.
스크립트를 LavaFloor 부품에 삽입하고 이름을 Kill로 변경합니다.
기본 코드를 제거하고 용암을 위한 변수를 만듭니다.
local lava = script.Parent
이벤트에 연결하기
사용자가 용암에 만지면 이벤트 를 사용하여 감지합니다. 모든 부품에는 Touched 이벤트가 있으며, 어떤 부품이 감지되면 즉시 실행됩니다. 연결할 수 있습니다 이벤트 에 연결하여 함수를 실행할 수 있습니다.
새로운 함수 kill 을 선언합니다.
용암 개체에 대한 액세스는 점을 사용하여 속성과 같습니다: Touched.
Touched 이벤트에서 Touched 함수를 호출하여 kill 함수를 전달합니다.
local lava = script.Parentlocal function kill()endlava.Touched:Connect(kill)
이제 코드를 작성한 kill 함수는 용암에 닿는 모든 것을 실행할 것입니다. Connect 함수에 대해 마침표를 사용하는 이유는 이 시점에 대해 걱정하지 마십시오. 차이를 기억하십시오.
터치하는 부분 가져오기
사용자를 죽이려면 해당 사용자와 관련된 개체가 필요합니다. 부품의 Touched 이벤트는 부품을 만지는 부품을 제공할 수 있지만, 함수의 매개 변수로만 요청할 수 있습니다.
매개 변수는 함수가 호출될 때 무엇을 기대하는지 정의합니다. 매개 변수는 다른 변수와 마찬가지로 함수에 사용될 수 있습니다. 매개 변수를 함수에 포함하여 부모에 정보를 전달할 수 있습니다. 매개 변수는 함수의 첫 번
local lava = script.Parent
local function kill(otherPart)
end
lava.Touched:Connect(kill)
kill 함수가 호출될 때 otherPart 매개 변수는 용암 바닥에 닿은 부품을 나타내고, 함수에 작성할 코드는 이를 사용할 수 있습니다.
캐릭터 및 휴머노이드
사용자가 용암에 만지면 Roblox는 사용자가 그것을 만진 특정 바디 부위를 감지할 수 있습니다, 왼쪽 다리 또는 오른쪽 발과 같은. 이 부분은 사용자의 캐릭터 모델에 있으며, 경험에서 아바타의 모든 개체를 포함하는 모든 개체를 포함합니다.
- 사용자의 머리, 팔다리 및 몸통과 같은 개별 바디 부품.
- 사용자가 착용한 의류 및 액세서리.
- Class.Humanoid, 사용자와 관련된 많은 속성을 가진 특수 개체로, 사용자의 건강을 포함합니다.
- 사용자의 이동을 제어하는 HumanoidRootPart입니다.
앞에서 설명한 대로, 용암에 닿는 신체 부위는 모두 캐릭터 모델의 일부이므로, 그 캐릭터와 관련된 참조를 가져오려면 otherPart.Parent 를 사용할 수 있습니다. 부모가 된 부품에 대한 변수를 만들어 용암 층에 대한 참조를 저장할 수 있습니다.
local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
end
lava.Touched:Connect(kill)
캐릭터 모델에서 사용자를 죽이려면 인간형 개체를 필요로 합니다. 이 작업은 FindFirstChild() 함수를 사용하여 수행할 수 있습니다 — 필요한 것을 입
local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
end
lava.Touched:Connect(kill)
휴머노이드 확인
if 문을 사용하여 쉽게 인간형이 발견되었는지 확인할 수 있습니다. 첫 번째 줄에 정의된 조건이 사실인 경우에만 코드가 실행됩니다.
미래의 코스에서 발생할 더 복잡한 조건을 구축하기 위해 사용할 수 있는 다양한 연산자가 있습니다. 지금은 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 로 설정하면 해당 캐릭터가 죽습니다. 이 문장의 본문에서 속성을 Health 로 설정하면 해당 캐릭터가 죽습니다.
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)