ScoreIf 설명서
ScoreIf는 인스턴스 변수인 score의 값을 특정 표현식에 맞춰 체크하기 위해 사용되는 액션입니다. 주어진 표현식과 값을 기준으로 현재 score를 비교하고, "if" 문은 사용된 표현식과 값에 따라 항상 true 또는 false를 반환합니다.
사용 가능한 표현식
| 표현식 | 설명 |
|---|---|
| Equals to | 변수와 값이 정확히 동일함 |
| Less than | 변수가 값보다 작음 |
| Greater than | 변수가 값보다 큼 |
| Less than or Equal to | 변수가 값보다 작거나 같음 |
| Greater than or Equal to | 변수가 값보다 크거나 같음 |
Not 인자를 사용할 경우 위의 표현식이 부정됩니다. 예를 들어, "equals to"는 "not equals to"가 되어 score 값이 주어진 값과 같지 않은지 체크하게 됩니다.
액션 블록에 추가하는 방법
"if" 블록에 액션을 추가하려면 해당 액션의 옆에 드롭해야 합니다. 아래 이미지를 참조하여 액션을 추가하세요. "if"가 true로 평가될 경우 이제 추가된 액션이 실행됩니다.
액션 문법
인자 설명
| 인자 | 설명 |
|---|---|
| Not | 표현식이 true로 평가되지 않는지 체크 |
| Expression | 체크할 때 사용할 표현식의 유형 |
| Value | score를 비교할 값 |
예제
다음은 액션 블록 코드의 예입니다. 이 코드에서는 score 값에 1을 추가하고, 이후 1000과 동일한지 체크합니다. 만약 같다면, 전역 스코프 변수 "Level"에 1이 추가됩니다.
// 점수 1 추가
score += 1;
// 점수가 1000인지 체크
if ScoreIf Equals to, score, 1000
{
Level += 1; // Level에 1 추가
}
다양한 활용 및 응용 예제
- 게임 레벨 증가:
score가 특정 값(예: 5000)에 도달하면 레벨 업gml if ScoreIf Greater than or Equal to, score, 5000 { Level += 1; // 레벨 증가 } - 엔드 게임 조건: 게임이 끝나는 조건 체크
gml if ScoreIf Less than, score, 0 { GameOver(); // 게임 오버 함수 호출 } - 보너스 점수 추가: 특정 점수(예: 2500)를 초과하면 보너스 점수 부여
gml if ScoreIf Greater than, score, 2500 { score += 500; // 보너스 점수 추가 }
이러한 사용 예제를 통해 ScoreIf 명령어를 다양한 게임 메커니즘에 적용할 수 있습니다.