오류 보고서
이 문서에서는 게임의 GML 코드에서 발생할 수 있는 다양한 오류에 대해 설명합니다.
문법 오류 (Syntax Error)
문법 오류는 GameMaker가 코드를 컴파일하기 전에 발견한 오류입니다. 이 오류는 IDE의 코드 편집기나 문법 오류 출력 창에서 확인할 수 있습니다. 대부분의 경우 문법 오류는 잘못된 구문으로 인해 발생합니다.
예제
if (score > 10
{
show_message("Score is greater than 10");
}
위의 코드에서 괄호가 닫히지 않아 문법 오류가 발생합니다.
컴파일 오류 (Compiler Error)
컴파일 오류는 게임 코드의 미세한 오류로 인해 발생하며, 이 오류는 게임 코드가 컴파일되는 동안에 발생하여 게임이 실행될 기회를 잃게 만듭니다. 이러한 오류는 컴파일러 오류 출력 창에서 확인할 수 있습니다.
예제
var x = "Hello";
x = x + 5; // 숫자와 문자열을 더하려 했기 때문에 컴파일 오류가 발생합니다.
런너 오류 (Runner Error)
코드가 성공적으로 컴파일되면 실행 중에 런너 오류가 발생할 수 있습니다. 런너 오류는 화면에 메시지로 표시되며, 오류의 유형, 발생한 인스턴스 및 이벤트, 그리고 추가 정보가 포함됩니다.
예제
if (player_health <= 0) {
instance_destroy(); // player_health가 0 이하일 때 인스턴스를 파괴하려고 하면 런너 오류가 발생할 수 있습니다.
}
런너 오류 메시지는 보통 다음과 같은 구조를 가지고 있습니다:
- 오류 유형
- 오류가 발생한 인스턴스 및 이벤트
- 오류에 대한 자세한 설명
- 현재 전역, 인스턴스 및 지역 변수 목록
- 게임을 중단하는 Abort 버튼, 오류를 복사하는 Copy 버튼, 오류 메시지를 지우는 Clear 버튼
디버깅
에러 보고를 통해 발견된 문제는 매우 중요합니다. 그러나 미세한 버그나 성능 관련 피드백은 제공되지 않으므로, 이러한 문제를 해결하기 위해서는 디버거를 사용해야 합니다.
결론
이 문서에서는 문법 오류, 컴파일 오류 및 런너 오류의 정의와 예제를 다루었습니다. 계속해서 발생할 수 있는 다양한 오류를 이해하고 해결할 수 있도록 노력하세요.