루프를 연습하려면 점점 밝아지고 시간이 지남에 약해지는 램프를 만들 것입니다.이 스크립트는 프로젝트의 다른 조명, 예를 들어 가로등이나 빛나는 크리스탈에 적용될 수 있습니다.
부품과 스크립트 설정
램프는 조명과 스크립트가 부착된 부분이 됩니다.
조명을 더 쉽게 볼 수 있도록 게임 세계를 밤 시간 으로 변경합니다. 탐색기 > 조명 > 변경에서 시간 클록 을 0으로 변경합니다.
램프라는 새로운 부품이나 모델을 만듭니다.
램프를 선택하고, 포인트라이트나 스포트라이트와 같은 조명 을 추가합니다.조명의 밝기 속성을 사용하여 빛나는 램프를 만듭니다.
램프에서 GlowScript라는 새 스크립트를 추가하십시오. 그 스크립트에서 램프 부분과 포인트 라이트를 저장할 변수를 만듭니다.
local lightPart = script.Parentlocal light = lightPart.SpotLight다음으로, 루프가 실행될 때마다 조명 밝기가 얼마나 변경될지를 보관하는 변수를 만듭니다.그런 다음, 루프가 다시 실행되기 전에 얼마나 많은 초 동안 대기할지에 대한 또 다른 변수를 추가합니다.
-- 조명의 밝기가 매번 얼마나 바뀌는지local brightnessChange = 1-- 초당 빛의 밝기가 얼마나 자주 변경되는지local timeChange = 1
램프 빛 만들기
램프는 두 개의 루프용 을 사용하여 램프를 더 밝게 만들고, 더 어둡게 만들기 위해 카운트다운하는 것을 사용합니다.각 루프에는 현재 밝기라는 제어 변수가 있을 것입니다.이런 식으로, 반복문의 제어 변수가 올라가고 내려갈 때, 빛의 밝기도 올라갑니다.
첫 번째 루프(조명 증가)
기억하십시오, for 루프는 키워드 for를 따라 제어 변수로 시작합니다.이 스크립트는 조명의 밝기 값을 제어 변수의 값으로 설정합니다.
다음 값을 사용하여 for 루프를 코딩합니다. 제어 변수와 끝 값을 쉼표로 구분하는 것을 잊지 마세요.
- 제어 변수 : currentBrightness
- 시작 값 : 0
- 종료 값 : 5
- 증가 값 : brightnessChange
local timeChange = 1for currentBrightness = 0, 5, brightnessChange doendfor 루프의 범위에서 조명의 밝기 속성을 제어 변수의 값으로 설정하려면 light.Brightness = currentBrightness를 입력하십시오.이제 루프가 실행되면 조명이 더 밝아집니다.
for currentBrightness = 0, 5, brightnessChange dolight.Brightness = currentBrightnessend따라서 변경이 한 번에 발생하지 않으므로 timeChange의 값을 사용하여 대기 함수를 추가합니다.
for currentBrightness = 0, 5, brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)end게임을 실행하여 매초마다 밝기가 증가하는 조명을 확인합니다.
첫 번째 루프에서 시간에 따른 밝기 변화를 볼 수 없는 경우:
- for 루프의 do와 end 사이에 light.Brightness = currentBrightness가 있는지 확인하십시오.
- timeChange 가 최소 1 이상인지 확인하십시오. 더 작은 숫자는 밝기 변화가 더 빠르지만 시간이 지남에 보기가 어려워집니다.
- for 루프의 첫 번째 줄에 컨트롤 변수, 끝 값 및 증가 값을 구분하는 총 2개의 쉼표가 있는지 확인하십시오.
두 번째 루프(조명 감소)
조명을 밝히지 않으려면 루프 2번째에 사용하십시오. 이 루프의 값은 반전되어 조명이 밝게 시작되고 매 초마다 점점 어두워집니다.
시간에 따라 밝기가 감소하는 루프의 두 번째 코드를 작성하십시오. 해결책은 아래의 코드 상자에 있습니다. 다음 값을 사용하십시오:
- 제어 변수 - currentBrightness 마지막 루프의 끝에서 5로 설정됨
- 끝 - 0, 조명을 끄기
- 증가 - 뺄 brightnessChange .
-- 두 번째 루프 밝기 램프for currentBrightness = 5, 0, -brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)end게임을 실행하십시오; 빛이 밝아지고 나서 어두워지는 것을 볼 수 있어야 합니다.
조명 반복 만들기
현재 조명은 한 번만 켜고 끕니다.램프를 지속적으로 켜고 끄기반복 중인 루프 내에 포 루프가 배치됩니다.
for 루프 아래에서 새로운 while 루프를 만듭니다.
while true doend루프를 모두 반복문 내에 배치하십시오. 반복문을 들여서 이들을 반복문과 구분하기 쉽게 만듭니다.
while true dofor currentBrightness = 0, 5, brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endfor currentBrightness = 5, 0, -brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endend게임을 실행하여 조명이 계속해서 밝고 어두워지는 것을 확인합니다.
라이트 스크립트 완료
스크립트의 완성된 버전은 아래에서 참조할 수 있습니다.
-- 이 램프에 연결된 조명을 저장합니다lightPart = script.Parentlight = lightPart.SpotLight-- 조명의 밝기가 매번 얼마나 바뀌는지local brightnessChange = 1-- 초당 빛의 밝기가 얼마나 자주 변경되는지local timeChange = 0.2while true dofor count = 0, 5, brightnessChange dolight.Brightness = counttask.wait(timeChange)end-- 조명을 끄는 두 번째 루프for count = 5, 0, -brightnessChange dolight.Brightness = counttask.wait(timeChange)endend
요약
프로젝트에서 복잡한 효과를 만들려면 스크립트에서 여러 루프와 심지어 다른 유형의 루프 조합을 사용할 수 있습니다.빛나는 조명을 코드하려면 두 루프가 반복문 내에 중첩됩니다.코더가 더 많은 루프를 추가할 때 코드를 읽음쉽도록 인디언트를 확인하십시오.