루프 연습을 위해 눈을 반짝이게 만드는 램프를 만듭니다. 눈이 점차 더 밝게 되고 나서 시간이 지남에 따라 점차 더 어두워지는 램프를 만듭니다. 이 스크립트는 거리 조명이나 빛나는 크리스탈 등의 다른 조명에 적용할 수 있습니다.
부품 및 스크립트 설정
램프는 부착된 조명과 스크립트가 있는 부분입니다.
조명을 쉽게 볼 수 있도록 게임 세계를 밤 으로 변경하십시오. 탐색기 > 조명 > ClockTime 를 0으로 변경하십시오.
Lamp라는 이름의 새로운 부품 또는 모델을 생성합니다.
램프를 선택하고 조명 또는 섬광등과 같은 빛을 추가하십시오. 밝기 속성의 조명을 작업하여 빛나는 램프를 만듭니다.
In Lamp, add a new script named GlowScript. 그 스크립트에서 변수를 만들어 램프 부품과 포인트 라이트를 저장합니다.
local lightPart = script.Parentlocal light = lightPart.SpotLight다음으로, 루프가 실행될 때마다 빛의 밝기가 얼마나 변경되는지 변수를 만듭니다. 그런 다음 루프가 다시 실행될 때까지 빛이 얼마나 기다릴지에 대한 또 다른 변수를 추가합니다.
-- 각 번에 조명의 밝기가 얼마나 변경되는지local brightnessChange = 1-- 초당 빛의 밝기가 얼마나 변경되나요local timeChange = 1
램프 빛 만들기
램프는 루프를 위해 두 개의 를 사용합니다. , 하나는 램프를 더 밝게 만들기 위해 카운트하고, 다른 하나는 그것을 끄기 위해 카운트다운합니다. 각 루프에는 조명 조절 변수인 현재 밝기가 있습니다. 그래서 루프의 조절 변수가 위로 이동하면 조명의 밝기가
첫 번째 루프(라이트 증가)
명심하십시오, for 반복문은 키워드 for 다음에 컨트롤 변수를 따라 시작합니다. 이 스크립트는 조명의 밝기 값을 컨트롤 변수에 설정합니다.
다음 값을 사용하여 루프를 반복하십시오. 컨트롤 변수와 종료 값을 쉼표로 구분하십시오.
- 변수 제어 : currentBrightness
- 시작 값 : 0
- 값 끝에 : 5
- 증가 값 : brightnessChange
local timeChange = 1for currentBrightness = 0, 5, brightnessChange doend루프의 범위에서 라이트의 밝기 속성을 light.Brightness = currentBrightness 로 설정하십시오. 이제 루프가 실행되면 라이트가 더 밝게됩니다.
for currentBrightness = 0, 5, brightnessChange dolight.Brightness = currentBrightnessend따라서 변경 내용이 한 번에 발생하지 않도록 timeChange 에 값을 추가하십시오.
for currentBrightness = 0, 5, brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)end게임을 실행하여 각 초마다 밝기가 증가하는 라이트를 볼 수 있습니다.
첫 번째 루프에서 밝기 변경을 시간별로 확인할 수 없으면:
- 루프의 시작 부분과 끝 부분 사이에 light.Brightness = currentBrightness가 있는지 확인하십시오.
- 최소 1 이상의 timeChange 이 있는지 확인하십시오. 크기가 작은 숫자는 밝기 변경을 더 빠르게 만들지만, 시간이 지남에 따라 보기가 어려워집니다.
- 루프 변수, 종료 값 및 증가 값을 구분하는 총 두 개의 쉼표를 첫 번째 줄에 있는지 확인하십시오.
두 번째 루프 (라이트 감소)
조명을 끄려면 두 번째 반올림을 사용하십시오. 이 반올림의 값은 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림 반올림
시간에 따라 밝기를 줄이는 루프의 두 번째 코드를 입력하십시오. 해결책은 코드 상자 아래에 있습니다. 다음 값을 사용하십시오.
- 변수 제어 - currentBrightness를 5로 설정하고 마지막 루프의 끝을 나타냅니다.
- 종료 - 0, 조명을 끄십시오.
- 증가량 - brightnessChange을 뺄셈합니다.
-- 두 번째 루프 듀임 램프for currentBrightness = 5, 0, -brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)end게임을 실행하십시오; 빛이 밝아지고 다음에 어두워지는 것을 확인해야 합니다.
조명 반복 만들기
현재 조명은 켜고 끄는 것만 한 번 합니다. 램프가 지속적으로 켜고 끄기루프를 반복하는 동안 반복됩니다.
반복 루프 아래에서 새로운 루프를 만듭니다.
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
요약
프로젝트에서 복잡한 효과를 생성하려면 스크립트는 여러 루프를 사용하고 심지어 다른 종류의 루프의 조합을 사용할 수 있습니다. 빛을 빛이 되도록 하려면 두 루프가 잠깐 중첩되어 있습니다. 코더가 더 많은 루프를 추가하면 코드를 쉽게 읽음수 있도록 중첩을 확인하세요.