컴퓨터 과학이나 게임 개발에서 많은 것들이 반복됩니다. 예를 인스턴스, 앱은 몇 초마다 콘텐츠를 피드에 업데이트하거나, 게임은 플레이어가 로그인할 때마다 상품을 보상합니다. 이 동작을 구현하기 위해 코더는 루프 를 종종 사용합니다.
컴퓨터 공학에서 루프 는 특정 조건이 충족될 때까지 반복되는 코딩 패턴입니다. 이를 연습하려면 색이 영구적으로 변경되는 부분을 코드화합니다. 나중에 수업에서는 루프를 중지하는 방법을 보여 줄 것입니다.
부품 및 스크립트 설정
이 연습에 대해 Roblox 프로젝트를 사용하십시오. 완료되면 이 부분을 환경을 장식하는 방법으로 사용할 수 있습니다.
설명적인 이름을 가진 새로운 부품을 생성합니다.이 레슨에서는 LoopingPart 를 사용합니다.
In ServerScriptService , LoopingScript라는 이름의 새 스크립트를 추가합니다.
스크립트에서 Hello World를 삭제하고 이 스크립트의 목적을 나타내는 코멘트를 작성합니다.
-- Changes the color of LoopingPart every few seconds
부품을 저장하기 위해 변수 사용
변수는 문자열 외에도 개체에 대한 참조를 저장할 수 있습니다. 예를 들어, 스크립트가 부품에 대한 참조를 알고 있으면 스크립트를 변경할 수 있습니다.
workspace.NameOfYourPart 을 입력하는 것보다는 전체 줄을 로컬 변수에 저장할 수 있습니다. 로컬 변수는 local 을 입력하고 변수 이름을 입력하면 생성됩니다.
예: local nameOfVariable.
코멘트 아래에서 local loopingPart 를 입력하여 로컬 변수를 만듭니다.
-- 몇 초마다 LoopingPart의 색을 변경합니다.local loopingPart동일한 줄에서 = workspace.LoopingPart를 입력하여 변수를 반복하는 부분으로 설정하십시오. = 연산자는 변수의 값을 오른쪽에 있는 값으로 설정합니다.
-- 몇 초마다 LoopingPart의 색을 변경합니다.local loopingPart = workspace.LoopingPart
루프 중
색이 변경되는 부분에 대한 컬백 루프를 만들기 전에 구문을 설명하는 것이 좋습니다. 컬백 루프는 세 가지 구성 요소가 있습니다.
- while 키워드.
- 조건, 항상 키워드 뒤에.
- Instructions, between the do and end keywords.
루프에서 조건은 논리적 문 중 다양한 범주를 나타낼 수 있습니다. 일부 예는 두 숫자가 동일한 경우일 수 있습니다. 루프는 조건이 참인 경우에만 실행됩니다.
아래 샘플에서 조건이 사실인지 알아보세요, 조건이 사실이므로 이 루프는 영원히 실행됩니다. 나중에 수업에서 특정 조건을 코드화하여 중지합니다.
while true doprint("This loop is running")end
잠시 루프 코딩
다음으로, 색이 변경되는 부분에 대한 while 루프를 설정합니다.
다음 줄에서 while true do 를 입력한 다음 Enter를 자동 완성하고 end 단어를 추가하려면 자판을 눌러 자동 완성하고 1>Enter1>를 누르십시오.
-- 몇 초마다 루프 파트의 색을 변경합니다.local loopingPart = workspace.LoopingPart-- 루프 코드while true doend
루프에 코드 추가
부품 색상을 변경하는 동안 루프가 생성된 상태에서 명령을 추가하여 부품 색상을 변경할 수 있습니다. 루프 내에서 각 색상에 대한 코드 줄을 추가합니다. 각 색상은 RGB 값, 컴퓨터 과학에서 색상을 숫자로 저장하는 방법을 사용합니다.
while true do 및 end 사이에서 부품의 색상 속성을 Color3.fromRGB()로 설정합니다.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB()end색을 설정하는 방법은 Studio의 색 선택기를 사용하여 수행할 수 있습니다. 이를 수행하려면 () 다음에 있는 fromRGB 옆에 있는 색 선택기를 클릭하십시오. 그런 다음 색 휠 아이콘을 클릭하십시오. 원하는 색을 설정하면 코드에 색 값을 자동으로 추가하려면
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)end
스크립트 대기
현재 색상 변경 코드의 두 번째 줄을 추가하면 벽돌의 색상이 너무 빨리 변경되어 첫 번째 색상이 지나가는 것을 볼 수 없습니다. 스크립트를 다음 코드 행을 실행하기 전에 대기하려면 task.wait() 함수를 사용하십시오.
벽돌 색상을 변경한 후 줄에 입력하십시오 task.wait(3). 스크립트가 기다릴 시간은 () 안에 배치된 숫자입니다.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)end대기 함수에서 새 색을 추가하는 동일한 프로세스를 반복합니다. 추가 대기 함수로 완료합니다.
while true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)end코드를 테스트하고 색이 변경되는지 확인하십시오.
색상 변경 부품 작동 문제 이 시점에서 색상 변경 부품이 작동하지 않으면 다음 중 하나를 시도하십시오. 문제 : 색상이 건너뜁니다
마지막 줄에서 변경하는 각 색상 사이에 대기 함수가 있는지 확인하십시오.
모든 색상 변경 및 대기 코드가 while true do 및 end 섹션 사이에 있는지 확인하십시오. 문제 : 부품은 여전히 회색이거나 원하는 대로 색이 변경되지 않습니다.
모든 RGB 값이 0에서 255까지 숫자가 있는지, 전체 자릿수이며 쉼표로 구분되어 있는지 확인하십시오.
기다리는 함수의 () 내부에 있는 숫자는 1보다 큰 값이어야 합니다. 기다리는 시간이 너무 짧으면 색을 볼 수 없을 수도 있습니다.
색 루프 부분 스크립트 완료
-- 부품을 저장하기 위한 변수 생성local loopingPart = workspace.LoopingPart-- 루프 코드while true do-- 변경 루프 파트의 색loopingPart.Color = Color3.fromRGB(82, 227, 255)-- 다음 명령까지 3초 기다리기task.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)end
요약
루프는 대부분의 컴퓨터 언어에서 일반적인 요소입니다. 루프는 지정된 조건이 충족될 때까지 명령을 반복하는 데 사용됩니다. 이 문서에서 루프는 영원히 반복하도록 명령을 반복하는 데 사용됩니다. 루프를 영원히 반복하려면 다음 키워드 사이에 명령을
while true do-- 지침end