요긴하게 많이 쓰일 것 같은, ini 함수 기능 ====== 특징 ====== * 외부 편집기에서 유니코드로 저장해도 파일 내용이 그대로 저장된다. * 확인필요 : 값을 변경 해도 그대로 저장되는가???? ====== ini 파일을 프로젝트에 포함하기 ====== * **Included Files**에 파일을 포함할 수 있다. * 왼쪽 프로젝트 폴더에서 **Included Files** 선택 \\ {{:language:gamemaker:gm-incfile-3.png?200|}} * **Create Included File** 메뉴 선택해서 새로운 항목 추가 시작 \\ {{:language:gamemaker:gm-incfile-1.png?200|}} * **Load** 버튼을 눌러서 ini 파일을 선택한다. \\ {{:language:gamemaker:gm-incfile-2.png?200|}} ====== 포함한 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 파일이 적용되지 않을 때는 - c:\Users\<윈도우 아이디>\AppData\Local\<프로젝트이름>\ 2번 폴더에서 ini 파일을 찾아서 최근 것으로 변경해야 한다.