매개변수와 이벤트 사용하기

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

일반적으로 함수는 자신이 코드화한 정보만 사용할 수 있습니다. 그러나 때때로 미리 그 정보가 무엇인지 알 수 없거나, 여러 유사한 정보 조각으로 동일한 함수를 재사용할 수 있기를 원할 수 있습니다. 예를 들어, 누군가가 장애물 코스를 가장 빨리 완료한 사람의 이름을 모두에게 거대한 글자로 표시하는 함수를 사용하고 싶다고 가정해 보겠습니다. 경주가 끝날 때까지 미래의 우승자의 이름을 알 수 없습니다.

매개변수는 나중에 함수에 제공할 정보를 위한 자리 표시자입니다. 매개변수는 정보를 함수에 전달할 수 있게 해주는 창과 같습니다.

매개변수와 이벤트를 사용하여 함정을 설정하기

이 스크립트는 접촉하는 모든 것을 파괴하는 함정 파트를 생성합니다. 다른 파트도 포함됩니다. 설정하려면 매개변수를 사용해야 합니다. 함정이 떨어져서 의도치 않게 물건을 파괴하지 않도록 주의하세요.

새 파트 만들기

접촉하는 모든 것을 파괴할 파트를 설정해야 합니다.

  1. 아무것도 접촉하지 않는 새 파트를 만듭니다. 무언가에 접촉하고 있다면 너무 빨리 작동할 수 있습니다.
  2. 탐색기에서 파트의 이름을: TrapPart로 변경합니다.
  3. 고정합니다.

스크립트 설정하기

변수와 게임 계층 구조에 대한 지식을 사용하여 함정 파트를 참조합니다.

  1. 함정 파트에 새 스크립트를 추가합니다. 스크립트 이름을 _TrapScript_로 변경합니다.

  2. Hello World를 삭제하고 설명 주석을 추가합니다.

  3. 주석 아래에 스크립트의 부모를 찾는 새 변수를 만듭니다.

    -- 부모에 접촉하는 모든 것을 파괴합니다
    local trap = script.Parent

매개변수가 있는 함수 만들기

함정은 접촉하는 모든 것을 파괴하는 함수를 사용할 것입니다. 작동하려면 함수가 무엇이 접촉했는지 알아야 합니다. 즉, 매개변수를 사용해야 합니다. 매개변수는 함수 이름 뒤에 오는 () 안에 입력됩니다. 다음과 같이 보입니다:

local function functionName(parameterName)
end

매개변수를 통해 전달되는 실제 정보는 인수라고 합니다. onTouch()라는 새 함수를 만들고, 함정에 접촉하는 것을 추적할 objectTouched라는 매개변수를 추가합니다.

  1. 로컬 함수를 만듭니다. 이름은 무엇이든 될 수 있지만, 이 수업에서는 onTouch를 사용합니다.

    local trap = script.Parent
    local function onTouch()
    end
  2. () 안에 매개변수의 이름을 입력합니다. 이 수업에서는 objectTouched를 사용합니다.

    local trap = script.Parent
    local function onTouch(objectTouched)
    end
  3. local function onTouch()end 사이에 print 문을 만듭니다. 다음 섹션에서 무언가가 파트에 접촉하고 있는지 확인하는 데 사용할 것입니다.

    local trap = script.Parent
    local function onTouch(objectTouched)
    print("무언가가 함정에 접촉했습니다")
    end

이벤트를 사용하여 함수 호출하기

무언가가 파트에 접촉할 때마다 함수가 실행되기를 원합니다. 이를 위해 함수를 Touched 이벤트에 연결합니다. 이벤트는 게임에서 발생하는 일입니다. 예를 들어, 플레이어가 파트에 접촉하거나 체력을 잃는 것과 같습니다. 함수가 이벤트에 연결되면 이벤트가 발생할 때마다 함수가 실행됩니다.

Touched 이벤트는 한 파트가 다른 파트에 접촉할 때마다 발생하며, 버튼, 함정 및 플레이어가 상호작용하는 다른 객체를 만드는 데 사용할 수 있습니다.

  1. 함수의 end 아래에 trap.Touched:Connect(onTouch)를 입력합니다.

    local trap = script.Parent
    local function onTouch(objectTouched)
    print("무언가가 함정에 접촉했습니다")
    end
    -- 함수를 Touched 이벤트에 연결합니다
    trap.Touched:Connect(onTouch)
  2. 테스트를 클릭한 다음 파트에 접촉합니다. 테스트 print 문인 무언가가 함정에 접촉했습니다가 출력 창에 나타나는지 확인합니다. 문자열이 출력 창에 보이지 않으면 다음을 확인하세요:

    • 문자열 "무언가가 함정에 접촉했습니다"가 local function onTouch()와 end 사이에 있는지 확인합니다.
    • Touched가 대문자로 되어 있는지 확인합니다.
  3. 이제 함수가 올바르게 설정되었으므로, 파트에 접촉하는 모든 것을 파괴하는 데 사용합니다. 함수 내부에서 문자열 다음에 objectTouched:Destroy()를 입력합니다. 완성된 코드는 다음과 같아야 합니다:

    local trap = script.Parent
    local function onTouch(objectTouched)
    print("무언가가 함정에 접촉했습니다")
    -- 접촉하는 객체를 파괴합니다
    objectTouched:Destroy()
    end
    trap.Touched:Connect(onTouch)
  4. 다시 테스트하고 파트에 접촉할 때 어떤 일이 발생하는지 확인합니다. 당신의 아바타는 발이나 팔이 없어질 것입니다. 파트가 아바타의 머리나 목에 접촉하면 완전히 파괴될 수도 있습니다.

요약

매개변수는 일반적으로 범위 밖에 있는 정보를 함수로 전달하는 데 사용됩니다 (함수가 그것을 볼 수 없는 곳). 한편, 이벤트는 게임 내에서 중요한 일이 발생할 때 발생하는 특별한 신호입니다. 서로 다른 객체는 서로 다른 이벤트를 가집니다. 함수는 이벤트에 연결되어 이벤트가 발생할 때마다 호출될 수 있습니다. 이 작은 스크립트는 함정의 Touched 이벤트에 함수를 연결하고, 매개변수를 통해 함정에 접촉하는 것을 전달했습니다.

©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.