경험에는 종종 원인과 결과 관계가 많이 있습니다. 예를 들어:
- 플레이어가 10점을 획득하면 게임.
- 플레이어가 파워업을 가지고 있으면 슈퍼 빨리 실행할 수 있습니다.
- 플레이어가 채팅에 "생일 축하합니다"라고 말하면 색종이가 비집니다.
스크립트는 조건부 문을 사용하여 이러한 유형의 상황을 처리합니다. 조건부 문은 특정 조건이 트루인 경우에만 실행되는 코드 줄입니다. 한 가지 조건부 문 유형은 if/then 문 입니다. Lua의 구문 패턴은 다음과 같습니다.
이렇다면 구문
if "something happens" then-- 다른 일을 하게 하세요end
조건부 문을 사용하는 코드 덩어리는 조건부 구조 입니다. 조건부 구조는 코드 형식의 흐름 다이어그램과 같이 여러 개의 조건부 문을 포함할 수 있습니다.
문 연습
이 단계는 진술이 참인 경우 부품의 색을 변경하는 스크립트를 만드는 방법을 보여줍니다.
In ServerScriptService , 새 스크립트를 생성하고 이름을 TruthChecker 입니다. 스크립트에 적절한 코멘트를 추가합니다.
-- 조건이 참이면 부품을 변경합니다.LieDetector라는 이름의 새로운 부품을 생성합니다.
문 서식 지정
조건 은 여러 형식으로 나타날 수 있지만 종종 단순한 코드같은 수학 식과 같습니다. 예를 들어, 1+1이 2인 경우 연산자 를 사용하여 문을 평가하거나 더 작거나 더 크게 하는 식을 사용하여 문을 평가할 수 있습니다.
알아야 할 특정 연산자는 == 입니다. 이는 "평등하다"를 의미합니다. 따라서 문장 2 + 2 == 4 을 읽기 위해 "두 개의 두가 평등하다"를 읽어야 합니다. 변수와 같은 개체에 새 값을 할당하려면 = 를 잘 혼동하지 마
빈 조건을 설정합니다. 스크립트에서 if then 를 입력하고 Enter를 자동 완성하려면 then 를 누르십시오. 키워드 2> then2> 이 하이라이트됩니다.
if then-- 빈 코드end키워드 if 후에, 다음과 같은 진실한 문을 입력하십시오. 3 + 3 == 6.
if 3 + 3 == 6 then-- 빈 코드end조건부 컴포넌트에서 LieDetector라는 이름의 부품을 참조하고 부품의 Color 속성을 녹색으로 변경합니다.
if 3 + 3 == 6 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)end테스트 코드를 테스트하십시오. 세 개의 세가 6과 같으면 부품이 녹색으로 변합니다.
조건 부정 확인
이제 수식이 잘못되었을 때 무슨 일이 일어나는지 확인하기 위해 문을 의도적으로 변경합니다.
if 문에서 식을 잘못 된 값으로 변경하십시오, 예를 들어 3 + 3 >= 10 이다.
if 3 + 3 >= 10 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)end코드를 테스트하십시오. 부품은 잘못된 진술에 대해 녹색으로 표시되지 않아야 합니다.
수학 연산자
아래 표에는 일반적인 Lua 연산자가 나열되어 있습니다. 연산자에 대한 자세한 내용은 Luau 연산자에서 확인할 수 있습니다.
기호 | 의미 |
---|---|
+ | 추가 |
- | 뺄셈 |
* | 배수 |
/ | 분할 |
비교 연산자
- == : 일치합니다.
- ~= : 일치하지 않습니다.
- < 또는 > 는 각각 작거나 더 크거나 사용됩니다.
- <= 또는 >= 는 각각 작거나 더 작거나 같습니다.
변수 및 속성
조건부 문은 속성 및 변수의 상태를 평가하는 데에도 사용됩니다. 다음 단계는 변수가 성공적으로 값을 할당했는지 여부를 확인합니다.
모든 코드를 삭제하고 다음 스냅 코드를 스크립트에 복사합니다. 테스트하고 출력에 새 오류가 나타납니다.
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 this is true, then do that."를 실행합니다.
조건부 문을 사용하여 코드 조각은 제어 구조라고 합니다. 제어 구조는 여러 조건부 문을 포함할 수 있습니다.
단순한 수학 문이 사실인지 여부를 평가하는 것 외에도 조건부는 변수 및 속성의 상태를 확인하는 데 사용됩니다.