루프와 함께 발광 조명

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

루프를 연습하려면 점점 밝아지고 시간이 지남에 약해지는 램프를 만들 것입니다.이 스크립트는 프로젝트의 다른 조명, 예를 들어 가로등이나 빛나는 크리스탈에 적용될 수 있습니다.

부품과 스크립트 설정

램프는 조명과 스크립트가 부착된 부분이 됩니다.

  1. 조명을 더 쉽게 볼 수 있도록 게임 세계를 밤 시간 으로 변경합니다. 탐색기 > 조명 > 변경에서 시간 클록 을 0으로 변경합니다.

    image
  2. 램프라는 새로운 부품이나 모델을 만듭니다.

  3. 램프를 선택하고, 포인트라이트나 스포트라이트와 같은 조명 을 추가합니다.조명의 밝기 속성을 사용하여 빛나는 램프를 만듭니다.

  4. 램프에서 GlowScript라는 새 스크립트를 추가하십시오. 그 스크립트에서 램프 부분과 포인트 라이트를 저장할 변수를 만듭니다.


    local lightPart = script.Parent
    local light = lightPart.SpotLight
  5. 다음으로, 루프가 실행될 때마다 조명 밝기가 얼마나 변경될지를 보관하는 변수를 만듭니다.그런 다음, 루프가 다시 실행되기 전에 얼마나 많은 초 동안 대기할지에 대한 또 다른 변수를 추가합니다.


    -- 조명의 밝기가 매번 얼마나 바뀌는지
    local brightnessChange = 1
    -- 초당 빛의 밝기가 얼마나 자주 변경되는지
    local timeChange = 1

램프 빛 만들기

램프는 두 개의 루프용 을 사용하여 램프를 더 밝게 만들고, 더 어둡게 만들기 위해 카운트다운하는 것을 사용합니다.각 루프에는 현재 밝기라는 제어 변수가 있을 것입니다.이런 식으로, 반복문의 제어 변수가 올라가고 내려갈 때, 빛의 밝기도 올라갑니다.

첫 번째 루프(조명 증가)

기억하십시오, for 루프는 키워드 for를 따라 제어 변수로 시작합니다.이 스크립트는 조명의 밝기 값을 제어 변수의 값으로 설정합니다.

  1. 다음 값을 사용하여 for 루프를 코딩합니다. 제어 변수와 끝 값을 쉼표로 구분하는 것을 잊지 마세요.

    • 제어 변수 : currentBrightness
    • 시작 값 : 0
    • 종료 값 : 5
    • 증가 값 : brightnessChange

    local timeChange = 1
    for currentBrightness = 0, 5, brightnessChange do
    end
  2. for 루프의 범위에서 조명의 밝기 속성을 제어 변수의 값으로 설정하려면 light.Brightness = currentBrightness를 입력하십시오.이제 루프가 실행되면 조명이 더 밝아집니다.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    end
  3. 따라서 변경이 한 번에 발생하지 않으므로 timeChange의 값을 사용하여 대기 함수를 추가합니다.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  4. 게임을 실행하여 매초마다 밝기가 증가하는 조명을 확인합니다.

첫 번째 루프에서 시간에 따른 밝기 변화를 볼 수 없는 경우:

  • for 루프의 do와 end 사이에 light.Brightness = currentBrightness가 있는지 확인하십시오.
  • timeChange 가 최소 1 이상인지 확인하십시오. 더 작은 숫자는 밝기 변화가 더 빠르지만 시간이 지남에 보기가 어려워집니다.
  • for 루프의 첫 번째 줄에 컨트롤 변수, 끝 값 및 증가 값을 구분하는 총 2개의 쉼표가 있는지 확인하십시오.

두 번째 루프(조명 감소)

조명을 밝히지 않으려면 루프 2번째에 사용하십시오. 이 루프의 값은 반전되어 조명이 밝게 시작되고 매 초마다 점점 어두워집니다.

  1. 시간에 따라 밝기가 감소하는 루프의 두 번째 코드를 작성하십시오. 해결책은 아래의 코드 상자에 있습니다. 다음 값을 사용하십시오:

    • 제어 변수 - currentBrightness 마지막 루프의 끝에서 5로 설정됨
    • - 0, 조명을 끄기
    • 증가 - 뺄 brightnessChange .

    -- 두 번째 루프 밝기 램프
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  2. 게임을 실행하십시오; 빛이 밝아지고 나서 어두워지는 것을 볼 수 있어야 합니다.

조명 반복 만들기

현재 조명은 한 번만 켜고 끕니다.램프를 지속적으로 켜고 끄기반복 중인 루프 내에 포 루프가 배치됩니다.

  1. for 루프 아래에서 새로운 while 루프를 만듭니다.


    while true do
    end
  2. 루프를 모두 반복문 내에 배치하십시오. 반복문을 들여서 이들을 반복문과 구분하기 쉽게 만듭니다.


    while true do
    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
    end
  3. 게임을 실행하여 조명이 계속해서 밝고 어두워지는 것을 확인합니다.

라이트 스크립트 완료

스크립트의 완성된 버전은 아래에서 참조할 수 있습니다.


-- 이 램프에 연결된 조명을 저장합니다
lightPart = script.Parent
light = lightPart.SpotLight
-- 조명의 밝기가 매번 얼마나 바뀌는지
local brightnessChange = 1
-- 초당 빛의 밝기가 얼마나 자주 변경되는지
local timeChange = 0.2
while true do
for count = 0, 5, brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
-- 조명을 끄는 두 번째 루프
for count = 5, 0, -brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
end

요약

프로젝트에서 복잡한 효과를 만들려면 스크립트에서 여러 루프와 심지어 다른 유형의 루프 조합을 사용할 수 있습니다.빛나는 조명을 코드하려면 두 루프가 반복문 내에 중첩됩니다.코더가 더 많은 루프를 추가할 때 코드를 읽음쉽도록 인디언트를 확인하십시오.