스크립팅 소개

*이 콘텐츠는 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 game 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 속성 변경

scrip.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 루프 내에서 괄호 안에 3을 넣어 task.wait() 함수를 호출합니다.
  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'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.