게임에서는 종종 많은 인과 관계가 존재합니다. 예를 들어:
- 플레이어가 10점을 얻으면 게임에서 승리합니다.
- 플레이어가 파워업을 가지고 있으면 매우 빠르게 달릴 수 있습니다.
- 플레이어가 채팅에서 "생일 축하해요"라고 말하면 색종이가 내립니다.
스크립트는 이러한 유형의 상황을 처리하기 위해 조건문을 사용합니다. 조건문은 특정 조건이 참일 때만 실행되는 코드의 줄입니다. 조건문의 한 종류는 if/then 문입니다. Luau에서 if 문의 구문 패턴은 다음과 같습니다:
if "무언가가 발생하면" then
-- 다른 무언가를 발생시킵니다
end조건문을 사용하는 코드 조각은 제어 구조입니다. 제어 구조는 코드 형태의 흐름도와 같으며 여러 개의 조건문을 가질 수 있습니다.
if 문 연습
이 단계에서는 조건이 참일 때 부품의 색상을 변경하는 스크립트를 만드는 방법을 보여줍니다.
ServerScriptService에서 새 스크립트를 만들고 이름을 TruthChecker로 지정합니다. 스크립트에 적절한 주석을 추가합니다.
-- 조건이 참일 때 부품을 변경합니다LieDetector라는 새 부품을 만듭니다.
if 문 형식
조건은 다양한 형태로 올 수 있지만 종종 수학 방정식과 같은 간단한 문장입니다. 예를 들어, 1+1이 2와 같으면 일부 코드를 실행합니다. 일반적인 수학 방정식처럼, 조건문은 연산자를 사용하여 문장을 평가할 수 있습니다. 예를 들어, 더하기(+) 또는 작다(<)와 같은 연산자가 있습니다.
특히 주의해야 할 연산자는 ==입니다. 이는 "같다"는 의미입니다. 따라서 2 + 2 == 4라는 문장은 "2 더하기 2는 4와 같다"로 읽을 수 있습니다. =와 혼동하지 않도록 주의하세요. =는 변수와 같은 객체에 새 값을 할당합니다.
빈 조건문을 설정합니다. 스크립트에서 if then을 입력하고 Enter를 눌러 조건문을 자동 완성합니다. then 키워드는 코드가 완전하지 않기 때문에 밑줄이 그어집니다.
if then-- 빈 코드endif 키워드 뒤에 3 + 3 == 6과 같은 참 문장을 입력합니다.
if 3 + 3 == 6 then-- 빈 코드end조건문 내에서 LieDetector라는 이름의 부품을 참조하고 부품의 Color 속성을 초록색으로 변경합니다.
if 3 + 3 == 6 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)end코드를 테스트합니다. 3 더하기 3이 6과 같으면 부품이 초록색으로 변합니다.
거짓 조건 확인
이제 의도적으로 문장을 변경하여 수학 방정식이 거짓일 때 어떤 일이 발생하는지 확인합니다.
if 문에서 방정식을 3 + 3 >= 10과 같이 부정확한 것으로 변경합니다.
if 3 + 3 >= 10 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)end이제 코드를 테스트합니다. 거짓 문장에 대해 부품이 초록색으로 변하지 않아야 합니다.
수학 연산자
아래 표는 일반적인 Luau 연산자를 나열합니다. 연산자에 대한 더 많은 정보는 Luau Operators에서 확인할 수 있습니다.
| 기호 | 의미 |
|---|---|
| + | 덧셈 |
| - | 뺄셈 |
| * | 곱셈 |
| / | 나눗셈 |
비교 연산자
- == : 같다.
- ~= : 같지 않다.
- < 또는 >는 각각 작거나 큼을 나타냅니다.
- <= 또는 >=는 각각 작거나 같음/크거나 같음을 나타냅니다.
변수와 속성
조건문은 속성과 변수의 상태를 평가하는 데에도 사용됩니다. 다음 단계에서는 변수가 값이 성공적으로 할당되었는지 확인합니다.
모든 코드를 삭제하고 다음 코드를 스크립트에 복사합니다. 테스트하면 Output에 새로운 오류가 나타납니다.
local mysteryPart = workspace.MysteryPart-- MysteryPart가 성공적으로 할당되면 참으로 평가됩니다if mysteryPart thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endMysteryPart라는 이름의 새 부품을 작업 공간에 삽입합니다. 다시 테스트하면 LieDetector가 초록색으로 변해야 합니다.
속성이 조건문으로 평가될 수 있는 방법을 탐색합니다. MysteryPart를 유지하되, 다시 코드를 삭제하고 아래 코드 상자를 복사합니다.
local mysteryPart = workspace.MysteryPart-- MysteryPart가 완전히 불투명하면 참으로 평가됩니다if mysteryPart.Transparency == 0 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)mysteryPart.Transparency = .2end코드를 테스트하고, MysteryPart의 기본 투명도가 0이면 유령처럼 변하고 LieDetector는 초록색으로 변합니다.
요약
조건문은 문장이 정확한지 확인하고, 그렇다면 일부 코드를 실행합니다. if 문은 매우 일반적인 유형의 조건문입니다. "이것이 참이면, 저것을 하라"는 패턴을 사용합니다.
조건문을 사용하는 코드 조각은 제어 구조라고 합니다. 제어 구조는 여러 개의 조건문을 포함할 수 있습니다.
단순한 수학 문장이 사실인지 평가하는 것 외에도, 조건문은 변수와 속성의 상태를 확인하는 데에도 사용됩니다.