시작하기
중급 튜토리얼

스크립팅 소개

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

In Introduction to Roblox Studio, you learned how to create and manipulate parts in Roblox Studio. In this tutorial, you'll learn how to apply a script to parts to make a platform appear and disappear. You can use this in a platforming experience to span a gap, challenging users to time their jumps carefully to get to the other side.

장면 설정하기

먼저, Part가 필요합니다. 이는 플랫폼 역할을 할 것입니다. 부품을 만들고 이동하는 것은 Introduction to Roblox Studio에서 익숙할 것입니다. 플랫폼 외에는 복잡한 세상이 필요하지 않습니다 — 사용자들이 쉽게 건널 수 없는 간격만 있으면 됩니다.

  1. Part를 삽입하고 이름을 DisappearingPlatform으로 변경합니다.

  2. 사용자가 점프할 수 있을 만큼 충분히 크게 크기를 조정합니다.

  3. 경험을 테스트할 때 도달하고 점프할 수 있도록 적절한 위치로 이동합니다.

    alt

  4. Properties 창에서 Anchored 속성을 true로 설정합니다.

스크립트 삽입하기

Roblox의 코드는 Luau라는 언어로 작성되며, 이는 Explorer의 다양한 컨테이너 내에 스크립트로 넣을 수 있습니다. Part 아래에 스크립트를 넣으면 Roblox는 부품이 경험에 로드될 때 스크립트의 코드를 실행합니다.

  1. Explorer 창에서 DisappearingPlatform 부품 위에 마우스를 올리고 + 버튼을 클릭하여 플랫폼에 새로운 스크립트를 삽입합니다. 새로운 스크립트의 이름을 Disappear로 변경합니다.

  2. 기본 코드를 삭제합니다.

첫 번째 변수

스크립트를 시작할 때 플랫폼에 대한 변수를 만드는 것이 좋습니다. 변수가 무엇인지에 대한 정의는 과 연관된 이름입니다. 변수가 생성되면 반복적으로 사용할 수 있습니다. 필요에 따라 값을 변경할 수 있습니다.

Luau에서 변수는 다음과 같이 생성됩니다: local variableName = variableValue.

local이라는 용어는 변수가 선언된 스크립트 블록 내에서만 사용된다는 의미입니다. = 기호는 변수의 값을 설정하는 데 사용됩니다. 변수 이름은 일반적으로 camel case로 작성됩니다. 첫 단어는 소문자이고, 그 뒤의 단어는 대문자로 시작합니다. justLikeThis.

다음 코드를 복사하여 플랫폼에 대한 변수 platform을 생성합니다. 여기서 값은 script.Parent입니다.


local platform = script.Parent

사라지기 기능

이제 플랫폼이 사라지게 만들 시간입니다. 특정 작업을 달성하는 코드를 그룹화하는 것은 함수로 하는 것이 항상 가장 좋습니다. 함수는 코드를 조직하고 여러 장소에서 다시 작성하지 않고 사용할 수 있게 도와주는 이름이 붙은 코드 블록입니다. 스크립트에서 함수를 생성하고 이름을 disappear로 지정합니다.


local platform = script.Parent
local function disappear()
end

첫 번째 새 줄은 함수의 시작을 선언합니다. 이는 함수의 시작을 나타내고, 이를 disappear라고 명명합니다. 함수 코드는 첫 번째 줄과 end 사이에 위치합니다.

괄호는 필요한 경우 추가 정보를 포함하는 데 사용됩니다. 함수에 정보를 전달하는 방법에 대해서는 나중의 강좌에서 더 배우게 될 것입니다.

부품 속성

플랫폼이 사라질 때, 이는 보이지 않아야 하고 사용자는 이를 뚫고 떨어져야 합니다 — 하지만 단순히 플랫폼을 파괴할 수는 없습니다. 나중에 다시 나타나야 하기 때문입니다.

부품에는 이곳에서 사용할 수 있는 다양한 속성이 있습니다. 부품을 선택하고 Properties 창을 살펴보면 부품의 속성을 볼 수 있습니다.

부품을 보이지 않게 하려면 Transparency 속성을 변경하면 됩니다. 투명도는 0과 1 사이의 값일 수 있으며, 1은 완전히 투명하고 보이지 않음을 의미합니다.

큐브의 Transparency 속성 변경하기

CanCollide 속성은 다른 부품 (및 사용자)이 해당 부품을 통과할 수 있는지를 결정합니다. 이 값을 false로 설정하면 사용자는 플랫폼을 통과할 수 있습니다.

큐브의 CanCollide 속성 변경하기

scrpt.Parent와 마찬가지로 속성은 을 사용하여 접근합니다. 값은 등호 기호를 사용하여 할당합니다.

  1. disappear 함수 안에서 플랫폼의 CanCollide 속성을 false로 설정합니다.

  2. 다음 줄에는 Transparency 속성을 1로 설정합니다.


    local platform = script.Parent
    local function disappear()
    platform.CanCollide = false
    platform.Transparency = 1
    end

함수 호출하기

함수를 선언한 후에는 괄호와 함께 이름을 작성하여 실행할 수 있습니다. 예를 들어, disappear()disappear 함수를 실행합니다. 이를 함수 호출이라고 합니다.

  1. 스크립트의 마지막에서 disappear 함수를 호출합니다.


    local platform = script.Parent
    local function disappear()
    platform.CanCollide = false
    platform.Transparency = 1
    end
    disappear()
  2. 플레이 테스트를 시작합니다. 코드가 작동하면 사용자가 스폰할 때 플랫폼이 사라져야 합니다.

나타나기 기능

disappear 함수의 정반대의 기능을 작성하여 플랫폼을 다시 나타나게 만들 수 있습니다.

  1. 스크립트에서 disappear() 줄을 삭제합니다.

  2. appear라는 새로운 함수를 선언합니다.

  3. 함수 본문에서 CanCollide 속성을 true로 설정하고 Transparency 속성을 0으로 설정합니다.


    local platform = script.Parent
    local function disappear()
    platform.CanCollide = false
    platform.Transparency = 1
    end
    local function appear()
    platform.CanCollide = true
    platform.Transparency = 0
    end

코드 반복

플랫폼은 지속적으로 사라졌다가 다시 나타나야 하며, 각 상태 간에는 몇 초의 시간이 필요합니다. 무한한 수의 함수 호출을 작성하는 것은 불가능합니다 — 다행히도, while 루프를 사용하면 그렇게 할 필요가 없습니다.

while 루프는 while 뒤의 조건이 참인 동안 내부 코드를 실행합니다. 이 특정 루프는 영원히 실행되어야 하므로 조건은 true로 설정해야 합니다. 스크립트 끝에 while true 루프를 생성합니다.


local platform = script.Parent
local function disappear()
platform.CanCollide = false
platform.Transparency = 1
end
local function appear()
platform.CanCollide = true
platform.Transparency = 0
end
while true do
end

플랫폼 토글하기

while 루프에서 플랫폼이 사라지고 다시 나타나는 사이에 몇 초를 기다리는 코드를 작성해야 합니다.

기본 제공 함수 task.wait()를 사용하면 됩니다. 괄호 안에는 기다려야 할 초 수가 필요합니다: 예를 들어 task.wait(3)입니다.

3초는 각 플랫폼 상태 간의 시간을 정하는 데 바람직한 시작점입니다.

  1. while 루프 안에서 task.wait() 함수를 사용하여 괄호 안에 3을 호출합니다.
  2. disappear 함수를 호출합니다.
  3. 다시 task.wait() 함수를 호출하여 괄호 안에 3을 넣습니다.
  4. appear 함수를 호출합니다.

while true do
task.wait(3)
disappear()
task.wait(3)
appear()
end

플랫폼 코드가 이제 완성되었습니다! 지금 코드를 테스트해 보세요. 3초 후에 플랫폼이 사라지고, 다시 3초 후에 다시 나타나는 것을 볼 수 있을 것입니다.

이 플랫폼을 복제하여 더 넓은 간격을 커버할 수 있지만, 각 스크립트에서 대기 시간을 변경해야 합니다. 그렇지 않으면 모든 플랫폼이 동시에 사라져 사용자가 건너갈 수 없게 됩니다.

최종 코드


local platform = script.Parent
local function disappear()
platform.CanCollide = false
platform.Transparency = 1
end
local function appear()
platform.CanCollide = true
platform.Transparency = 0
end
while true do
task.wait(3)
disappear()
task.wait(3)
appear()
end
©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.