exit 문 Statement 해석 및 활용 예제
## exit 문 소개
`exit` 문은 스크립트 실행을 종료하는 데 사용됩니다. 기본 구문은 다음과 같습니다:
```gml
exit;
이 문장은 현재 스크립트의 함수, 메서드 또는 이벤트 실행을 종료합니다. 사용되는 맥락에 따라 약간의 차이가 있습니다.
사용 맥락에 따른 차이점
- 스크립트 함수 또는 메서드 내에서:
exit를 사용하면 함수가 종료되고 해당 함수를 호출한 코드로 돌아갑니다. - 객체의 이벤트 내 코드 블록에서:
exit를 사용하면 해당 이벤트 전체가 종료됩니다. 이후에 있을 다른 코드 블록은 실행되지 않습니다. - 부모 이벤트에서:
event_inherited()를 사용하여 자식 객체에서 부모 이벤트를 호출할 경우, 부모 이벤트만 종료되고 자식 이벤트는 계속 실행됩니다.
사용 예제
일반적으로 exit는 특정 조건이 충족되었을 때 더 이상의 코드를 실행하지 않도록 하기 위해 사용됩니다. 아래의 코드는 충돌 이벤트 내에서 exit 문을 사용하는 예를 보여줍니다:
if (!visible) {
exit;
}
other.hp -= attack;
other.coins -= 4;
coins += 4;
위의 코드는 현재 인스턴스가 보이지 않는 경우를 체크합니다. 이 경우, 코드 블록을 종료하고 이후의 코드는 실행되지 않습니다. 게임 실행이 종료되는 것은 아닙니다. 게임을 종료하려면 game_end() 함수를 사용해야 합니다.
다양한 활용 예제
1. 사용자 입력 확인하기
게임에서 사용자 입력이 선택되지 않은 경우 추가 작업을 방지할 수 있습니다.
if (!mouse_check_button(mb_left)) {
exit;
}
// 사용자가 클릭했을 때만 아래 코드 실행
score += 10;
2. 충돌 조건 체크하기
다른 객체와의 충돌을 검사하고, 충돌하지 않을 경우 더 이상의 처리를 하지 않도록 할 수 있습니다.
if (!collision_rectangle(x, y, x + width, y + height, obj_enemy, false, false)) {
exit;
}
// 적과 충돌했을 때만 아래 코드 실행
health -= 1;
3. 특정 상태 체크하기
게임 캐릭터가 특정 상태일 때 추가 행동을 방지할 수 있습니다.
if (isDead) {
exit;
}
// 캐릭터가 살아있을 때만 아래 코드 실행
performAction();
결론
exit 문은 코드 흐름을 제어하는 데 유용한 도구입니다. 적절한 조건을 사용하여 불필요한 코드 실행을 방지하고 게임의 성능을 개선할 수 있습니다. 다양한 응용 프로그램을 통해 상황에 맞게 활용할 수 있습니다. ```