스크립트 스크립팅

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

In Roblox Studio 소개에서 당신은 Roblox Studio에서 부품을 만들고 조작하는 방법을 배웠습니다.이 자습서에서는 플랫폼을 나타내고 사라지게 하기 위해 부품에 스크립트 를 적용하는 방법을 배웁니다.이를 플랫폼 경험에서 사용하여 간격을 메우고, 사용자가 다른 쪽으로 이동하기 위해 점프 시간을 신중하게 결정하도록 도전할 수 있습니다.

장면 설정

끄기, 플랫폼으로 작동할 부품 이 필요합니다.부품 제작 및 이동은 Roblox Studio 소개에서 익숙해야 합니다.플랫폼 외에 복잡한 세계가 필요하지 않습니다. 사용자가 쉽게 건너뛰지 못하는 간격만 필요합니다.

  1. 부품 을 삽입하고 이름을 DisappearingPlatform

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

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

  4. 속박된 속성을 고정 속성을 속성 창에서 true 로 설정합니다.Set the Anchored property to true in the Properties window.

스크립트 삽입

Roblox의 코드는 Luau라는 언어로 작성되며 탐색기 내의 다양한 컨테이너에 스크립트를 넣을 수 있습니다.스크립트를 부분 아래에 배치하면 Roblox는 부품이 게임에 로드될 때 스크립트 코드를 실행합니다.

  1. 탐색기 창에서 부분을 가리키고 Explorer 버튼을 클릭하여 플랫폼에 새 스크립트를 삽입합니다.새 스크립트를 사라지기 로 이름 바꾸기.

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

첫 번째 변수

플랫폼을 위한 변수 를 만들어 스크립트를 시작하는 것이 좋습니다.변수는 이름 과 함께 을 가진 것입니다.변수가 생성되면 계속해서 사용할 수 있습니다.필요에 따라 값을 변경할 수 있습니다.

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

용어 local는 변수가 선언된 스크립트의 블록에서만 사용될 것임을 의미합니다.= 표지판은 변수의 값을 설정하는 데 사용됩니다.변수 이름은 일반적으로 캐멜 케이스 에 작성됩니다.이는 첫 번째 대문자로 시작하는 모든 단어가 소문자인 경우입니다, justLikeThis .

다음 코드를 복사하여 플랫폼 변수 를 생성하고 값이 platform.에서 값이 script.Parent.


local platform = script.Parent

사라지기 함수

플랫폼을 사라지게 할 시간.특정 작업을 수행하기 위해 코드를 그룹화하는 것이 항상 함수 에 가장 좋습니다.함수는 코드를 구성하고 다시 작성하지 않고 여러 곳에서 사용하는 데 도움이 되는 명명된 코드 블록입니다.스크립트에서 함수 를 생성하고 disappear합니다.


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

첫 번째 새 줄 는 함수를 선언합니다 — 함수의 시작을 나타내고 이름을 disappear.함수의 코드는 첫 번째 줄과 end 사이에 있습니다.

괄호는 필요한 경우 추가 정보를 포함하도록 사용됩니다. 나중에 함수에 정보를 전달하는 방법에 대해 자세히 알아볼 수 있습니다.

부품 속성

플랫폼이 사라지면 투명해야 하고 사용자가 그것을 통과해야 하지만 나중에 다시 나타나야 하기 때문에 플랫폼을 파괴할 수는 없습니다.

부품에는 여기에서 사용할 수 있는 다양한 속성 이 있습니다.부품을 선택하고 속성 창을 보면 부품의 속성을 볼 수 있다는 점을 기억하십시오.

부품은 Transparency 속성을 변경하여 투명하게 만들 수 있습니다.투명도는 0에서 1 사이의 값이며, 1은 완전히 투명하고 따라서 보이지 않습니다.

큐브의 투명도 속성 변경

CanCollide 속성은 다른 부품(및 사용자)이 부품을 통과할 수 있는지 여부를 결정합니다.그것을 거짓 으로 설정하면 사용자가 플랫폼을 통해 떨어집니다.

큐브의 CanCollide 속성 변경

마찬가지로 script.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 속성을 trueTransparency 속성을 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 루프는 문 뒤에 남아 있는 한 문자열 내의 코드를 계속 실행합니다.A while loop runs the code inside it for as long as the statement after remains true.이 특정 루프는 영원히 실행되어야 하므로 문은 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