포문으로 빛나는 조명 만들기

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

포문을 연습하기 위해, 점점 밝아졌다가 시간이 지나면서 어두워지는 램프를 만들 것입니다. 이 스크립트는 거리의 조명이나 빛나는 수정과 같은 프로젝트의 다른 조명에도 적용할 수 있습니다.

부품 및 스크립트 설정

램프는 조명과 스크립트가 부착된 부품이 될 것입니다.

  1. 조명을 더 잘 볼 수 있도록 3D 세계를 밤 시간으로 변경합니다. 탐색기조명에서 ClockTime0으로 변경합니다.

    이미지
  2. Lamp라는 이름의 새 부품 또는 모델을 만듭니다.

  3. Lamp를 선택하고 조명(PointLight 또는 SpotLight 등)을 추가합니다. 조명의 밝기 속성을 사용하여 빛나는 램프를 만들 것입니다.

  4. Lamp에 GlowScript라는 이름의 새 스크립트를 추가합니다. 그 스크립트에서 램프 부품과 포인트 조명을 저장할 변수를 만듭니다.

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

    -- 조명의 밝기가 매번 얼마나 변할지
    local brightnessChange = 1
    -- 조명이 밝기를 변경하는 간격(초)
    local timeChange = 1

램프를 빛나게 만들기

램프는 두 개의 포문을 사용할 것입니다. 하나는 램프를 밝게 만들기 위해 카운트하고, 다른 하나는 어둡게 만들기 위해 카운트합니다. 각 포문은 currentBrightness라는 제어 변수를 가집니다. 이렇게 하면 포문의 제어 변수가 올라가고 내려감에 따라 조명의 밝기도 변합니다.

첫 번째 루프 (조명 증가)

포문은 for라는 키워드로 시작하고 그 뒤에 제어 변수가 옵니다. 이 스크립트는 조명의 밝기 값을 제어 변수의 값으로 설정합니다.

  1. 다음 값을 사용하여 포문을 코딩합니다. 제어 변수와 종료 값을 쉼표로 구분하는 것을 잊지 마세요.

    • 제어 변수: currentBrightness
    • 시작 값: 0
    • 종료 값: 5
    • 증가 값: brightnessChange
    local timeChange = 1
    for currentBrightness = 0, 5, brightnessChange do
    end
  2. 포문의 범위 내에서 조명의 밝기 속성을 제어 변수의 값으로 설정합니다. 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. 게임을 실행하여 조명이 매초 밝아지는 것을 확인합니다.

첫 번째 루프에서 시간이 지남에 따라 밝기 변화가 보이지 않는 경우:

  • light.Brightness = currentBrightness가 포문의 do와 end 사이에 있는지 확인하세요.
  • timeChange가 최소 1 이상인지 확인하세요. 작은 숫자는 밝기가 더 빨리 변하게 하지만 시간이 지남에 따라 보기 어려울 수 있습니다.
  • 포문의 첫 번째 줄에 제어 변수, 종료 값 및 증가 값을 구분하는 두 개의 쉼표가 있는지 확인하세요.

두 번째 루프 (조명 감소)

조명을 어둡게 하려면 두 번째 포문을 사용합니다. 이 루프의 값은 반대로 설정되어 조명이 밝게 시작하고 매초 어두워집니다.

  1. 시간이 지남에 따라 밝기를 줄이는 두 번째 포문을 코딩합니다. 아래 코드 상자에 해결책이 있습니다. 다음 값을 사용하세요:

    • 제어 변수 - currentBrightness를 5로 설정합니다. 이는 마지막 루프의 끝입니다.
    • 종료 - 0, 조명을 끄는 것입니다.
    • 증가 - brightnessChange를 빼는 것입니다.
    -- 두 번째 루프는 램프를 어둡게 합니다
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  2. 게임을 실행하세요. 조명이 밝아졌다가 어두워지는 것을 볼 수 있어야 합니다.

조명이 반복되도록 만들기

현재 조명은 한 번만 켜졌다 꺼집니다. 램프가 계속해서 켜졌다 꺼지도록 하려면 포문을 반복하는 while 루프 안에 배치해야 합니다.

  1. 포문 아래에 새 while 루프를 만듭니다.

    while true do
    end
  2. 두 개의 포문을 while 루프 안에 배치합니다. 포문을 들여쓰기하여 while 루프와 구분하기 쉽게 만듭니다.

    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

요약

프로젝트에서 복잡한 효과를 만들기 위해 스크립트는 여러 개의 루프와 다양한 유형의 루프 조합을 사용할 수 있습니다. 빛나는 조명을 코딩하기 위해 두 개의 루프가 while 루프 안에 중첩되어 있습니다. 코더가 더 많은 루프를 추가할 때는 코드가 읽기 쉽도록 들여쓰기를 확인해야 합니다.

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