ini_open 함수 설명
ini_open
함수는 ini 파일을 읽거나 쓰기 위해 엽니다. 지정한 위치에 ini 파일이 존재하지 않으면, GameMaker는 데이터를 쓰는 경우에만 파일을 생성합니다. 만약 ini 파일에서 정보를 읽기만 했다면, 읽기 함수의 기본 값이 반환되며, ini 파일은 실제로 생성되지 않습니다.
하나의 ini 파일만 열 수 있으며, 읽기/쓰기가 끝난 후에는 반드시 ini_close()
함수를 사용해야 합니다. 정보는 파일이 닫히기 전까지는 실제로 디스크에 저장되지 않으며, 메모리에 저장됩니다.
문법
ini_open(name);
인수
인수 | 타입 | 설명 |
---|---|---|
name | String | ini 파일의 파일 이름 |
반환값
- N/A
예제
ini_open("Settings/savedata.ini");
score = ini_read_real("save1", "score", 0);
ini_close();
위 코드는 'savedata.ini' 파일을 열고, "save1" 섹션의 "score" 키 아래에 있는 점수 값을 읽습니다. 이후 ini 파일을 다시 닫습니다. 만약 "save1" 아래에 값이 없거나 "savedata.ini" 파일이 존재하지 않으면, 점수는 기본값인 0으로 설정됩니다. ini 파일은 "Settings"라는 하위 디렉토리에 위치해 있습니다.
활용 예제
예제 1: 게임 설정 저장
ini_open("Settings/game_settings.ini");
ini_write_string("settings", "difficulty", "hard");
ini_close();
이 코드는 게임 설정을 저장하는 ini 파일을 열고, 난이도를 "hard"로 설정합니다.
예제 2: 플레이어의 점수 읽기
ini_open("Settings/player_scores.ini");
player_score = ini_read_real("player1", "score", 0);
ini_close();
이 코드는 플레이어 1의 점수를 읽어옵니다. 점수가 없으면 기본값인 0이 반환됩니다.
예제 3: 여러 값 저장
ini_open("Settings/user_data.ini");
ini_write_real("user", "highscore", 100);
ini_write_string("user", "username", "player1");
ini_close();
이 코드는 사용자 데이터를 저장하는 ini 파일을 열고, 최고 점수와 사용자 이름을 저장합니다.
예제 4: 기본값 사용
ini_open("Settings/nonexistent.ini");
level = ini_read_real("game", "level", 1);
ini_close();
이 코드는 존재하지 않는 ini 파일에서 레벨 값을 읽으려 시도합니다. 파일이 없으므로 기본값인 1이 반환됩니다.