사용자 도구

사이트 도구


사이드바

language:gamemaker:2-ini-file

요긴하게 많이 쓰일 것 같은, ini 함수 기능

특징

  • 외부 편집기에서 유니코드로 저장해도 파일 내용이 그대로 저장된다.
  • 확인필요 : 값을 변경 해도 그대로 저장되는가????

ini 파일을 프로젝트에 포함하기

  • Included Files에 파일을 포함할 수 있다.
  • 왼쪽 프로젝트 폴더에서 Included Files 선택
  • Create Included File 메뉴 선택해서 새로운 항목 추가 시작
  • Load 버튼을 눌러서 ini 파일을 선택한다.

포함한 ini 파일을 사용

  • 코드상에서 바로 사용하면 된다.
// string.ini 는 포함파일(Included File)로 프로젝트에 포함했다.
ini_open( 'string.ini' );
// 해당 파일에서 [msg] 섹션의 '1','2' 항목을 읽어둔다.
global.string1 = ini_read_string( "msg", "1", "error" );
global.string2 = ini_read_string( "msg", "2", "error" );
// 사용이 끝나면 닫는다.
ini_close();

배열을 사용해서 읽는 것도 괜찮을 듯.

// 리소스 트리에 포함할 ini 파일 : 파일 이름 = string.ini
[msg]
0=한글메시지
1=플레이
2=랭킹
3=나가기

프로그램 시작될때 읽어들이기

//----- read string -----
ini_open( 'string.ini' );
var tmstr, i;
for( i = 0; i <= 4; i += 1 )
{
    var keyname;
    keyname = string(i);
    tmstr = ini_read_string( "msg", keyname, '[read string err:'+keyname+']' );
    global.stringList[i] = tmstr;
}
ini_close();

개발 중에 ini 파일 내용 변경이 안될 때

최근버전(1.1.676)에서 확인

  • ini 파일 변경을 위해서는 프로젝트 폴더의 datafiles 폴더에서 ini 파일을 수정한다.
  • 한번 읽어들인 ini 파일은 (=Included Files)는 여기에 저장되며, 실행할때마다 복사해서 쓰는 것 같다.
    AppData를 폴더를 사용하지 않는다.
  • 점수(score, highscore)와 같이 계속 남아 있어서 확인할 데이터는 기존 방식대로 저장된다.

1.1.622 버젼에서

윈도우즈에서, ini 파일을 리소스에 포함한 뒤, 변경된 ini 파일이 적용되지 않을 때는

  1. c:\Users\<윈도우 아이디>\AppData\Local\<프로젝트이름>\

2번 폴더에서 ini 파일을 찾아서 최근 것으로 변경해야 한다.

language/gamemaker/2-ini-file.txt · 마지막으로 수정됨: 2012/11/25 20:31 (바깥 편집)