Else 및 Else If에 대한 설명
"Else" 액션은 "If Variable"(또는 다른 "if" 액션)와 함께 사용되는 방식으로, "if" 평가가 false일 때 수행할 행동을 정의하는 데 사용됩니다. 예를 들어, 플레이어의 체력 변수가 0 이하인지 확인하는 "if" 액션이 있을 때, 이 조건이 true로 평가된다면 인스턴스를 파괴(삭제)하게 됩니다. 그러나 플레이어의 체력이 0보다 작지 않은 경우 다른 코드 액션 세트를 수행하고 싶다면 "else"를 추가하고 "if"가 false일 때 수행될 액션을 지정할 수 있습니다.
참고: "else" 블록에 액션을 추가하려면 액션의 측면에 드래그해야 합니다. 아래의 그림과 같이 설정해야 합니다. 다른 곳에 드롭된 액션은 "else" 블록과 그 내용이 실행된 후에 수행됩니다.
액션 구문
if (player_health <= 0) {
// 플레이어 체력이 0 이하일 때 수행되는 코드
instance_destroy();
} else {
// 플레이어 체력이 0보다 클 때 수행되는 코드
global.some_variable = initial_value;
}
예시 설명
위의 코드 블록은 DS 리스트를 확인하여 초기 값이 "undefined"(정의되지 않음)인지 아닌지를 확인합니다. 만약 "undefined"라면 DS 리스트를 파괴하고, 그렇지 않다면 그 값을 글로벌 변수에 할당합니다.
| 조건 | 실행 내용 |
|---|---|
| 플레이어 체력 ≤ 0 | 인스턴스 삭제 |
| 플레이어 체력 > 0 | 글로벌 변수에 값 할당 |
다양한 활용 및 응용 예제
- 점수 계산기
gml if (player_score >= 100) { // 점수가 100 초과일 때 보너스를 추가 global.bonus += 10; } else { // 점수가 100 미만일 때 global.bonus += 0; } - 게임 종료 조건
gml if (player_life == 0) { // 생명이 없을 때 게임 오버 처리 game_over(); } else { // 생명이 남아있을 때 계속 플레이 continue_game(); } - 업그레이드 시스템
gml if (player_level >= 5) { // 레벨이 5 이상일 때 업그레이드 가능 upgrade_player(); } else { // 레벨이 부족할 경우 경고 메시지 show_warning("레벨이 부족합니다!"); }
사용자가 조건에 따라 다양한 행동을 정의하고 실행할 수 있는 "If" 및 "Else" 구문의 활용 예시는 매우 다양합니다. 그에 따라 게임 로직을 보다 유연하게 구성할 수 있습니다.