게임 저장 기능 설명
이 문서는 게임의 현재 상태를 저장하는 레거시 함수인 game_save
에 대한 설명입니다. 이 함수는 더 이상 사용을 권장하지 않으며, 대신 파일 함수나 버퍼 함수를 사용하여 특정 게임 데이터를 저장하고 불러오는 맞춤형 저장 시스템을 만드는 것이 좋습니다.
주요 내용
game_save
함수는 게임의 상태를 그대로 저장합니다. 그러나 동적 리소스(데이터 구조, 서피스, 런타임에 추가된 자산 등)는 저장되지 않습니다.- 저장된 파일을 불러오면, 저장 이후에 이루어진 게임 업데이트는 반영되지 않으며, 저장 당시의 게임 버전으로 복원됩니다.
- 이 함수로 생성된 저장 파일은 업데이트된 런타임 버전에서 지원되지 않을 수 있으므로, 새로운 저장 시스템으로 교체하는 것이 필수적입니다.
문법
game_save(filename);
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
filename | String | 게임을 저장할 파일의 이름 |
반환값
- N/A
예제 코드
아래 코드는 "S" 키가 눌렸을 때 글로벌 변수를 true
로 설정하고, "Save.dat" 파일에 게임을 저장하는 예제입니다.
if (keyboard_check_pressed(ord("S"))) {
global.Saved = true;
game_save("Save.dat");
}
활용 예제
- 게임 상태 저장: 플레이어가 특정 지점에 도달했을 때 게임 상태를 저장합니다.
gml if (player_reaches_checkpoint) { game_save("Checkpoint.dat"); }
- 자동 저장 기능: 일정 시간마다 자동으로 게임을 저장합니다.
gml if (current_time - last_save_time > auto_save_interval) { game_save("AutoSave.dat"); last_save_time = current_time; }
- 게임 종료 시 저장: 게임 종료 시 플레이어의 진행 상황을 저장합니다.
gml if (game_is_closing) { game_save("ExitSave.dat"); }
- 다양한 저장 파일 사용: 여러 저장 파일을 사용하여 플레이어가 선택할 수 있도록 합니다.
gml game_save("SaveSlot1.dat"); game_save("SaveSlot2.dat");
이와 같은 예제를 통해 game_save
함수를 활용할 수 있습니다.