buffer_load_ext 함수 설명
buffer_load_ext
함수는 이전에 buffer_save
함수와 관련 함수들을 사용하여 저장된 버퍼 데이터를 기존 버퍼에 로드하는 기능을 제공합니다. 이 함수는 로드할 버퍼와 저장된 버퍼 파일, 그리고 데이터를 로드할 버퍼의 시작점에서의 오프셋(바이트 단위)을 인자로 받습니다.
문법
buffer_load_ext(buffer, filename, offset);
인자 설명
인자 | 타입 | 설명 |
---|---|---|
buffer | Buffer | 데이터를 로드할 버퍼 |
filename | String | 로드할 파일의 이름 |
offset | Real | 버퍼 내에서 데이터를 로드할 오프셋 (바이트 단위) |
반환값
- N/A
예제
var _pos = buffer_seek(player_buffer, buffer_seek_end, 0);
buffer_load_ext(player_buffer, "Data_Save.sav", _pos);
위의 코드는 먼저 player_buffer
변수에 저장된 버퍼의 끝 위치를 가져온 후, 주어진 파일에서 해당 위치로 데이터를 로드합니다. (이 예제는 "grow" 또는 "wrap" 버퍼 타입에서만 작동합니다.)
활용 예제
- 게임 저장 데이터 로드
gml var save_position = buffer_seek(player_buffer, buffer_seek_end, 0); buffer_load_ext(player_buffer, "Game_Save.dat", save_position);
- 사용자 설정 로드
gml var settings_position = buffer_seek(settings_buffer, buffer_seek_end, 0); buffer_load_ext(settings_buffer, "User_Settings.cfg", settings_position);
- 레벨 데이터 로드
gml var level_position = buffer_seek(level_buffer, buffer_seek_end, 0); buffer_load_ext(level_buffer, "Level_Data.lvl", level_position);
- 아이템 데이터 로드
gml var item_position = buffer_seek(item_buffer, buffer_seek_end, 0); buffer_load_ext(item_buffer, "Item_Data.itm", item_position);
- 로그 데이터 로드
gml var log_position = buffer_seek(log_buffer, buffer_seek_end, 0); buffer_load_ext(log_buffer, "Game_Log.log", log_position);