ActionScript에는 INI파일을 Key값과 변수 값으로 분류하여 Data만 가져오는 공식적인 방법은 존재하지 않는다.
하지만 INI역시 파일이므로 AS3.0의 URLRequest와 URLLoader를 통하여 File Control이 가능하다.
Example.
var loader :URLLoader = new URLLoader(); // 새로운 URLLoader 클래스를 만든다.
loader.dataFormat = URLLoaderDataFormat.TEXT; // DataFormat는 Text 형식
loader.addEventListener( Event.COMPLETE, loading ); // Load가 완료되면 수행되는 함수
loader.load( new URLRequest( "museum.ini" ); // museum.ini를 Load한다.
function loading( evt :Event ) :void
{
loader.dataFormat = URLLoaderDataFormat.TEXT; // DataFormat는 Text 형식
loader.addEventListener( Event.COMPLETE, loading ); // Load가 완료되면 수행되는 함수
loader.load( new URLRequest( "museum.ini" ); // museum.ini를 Load한다.
function loading( evt :Event ) :void
{
trace( loader.data ); // trace( evt.target.data );
}
위 처럼 loading 함수에서 완료에 따른 파일의 값을 얻을 수 있다.
얻어온 파일의 값을 String Control을 통하여 Key값과 변수명을 통해 접근이 가능하도록 한다.
얻어온 파일의 값을 String Control을 통하여 Key값과 변수명을 통해 접근이 가능하도록 한다.
function loading( evt :Event ) :void
{
{
// 1. INI의 데이터 저장하기
var str_iniData :String = evt.target.data;
// 1. 해당 Key값 만큼만 String 자르기
var sp :int = str_iniData.indexOf( "[" + KEY + "]" );
var rp :int = str_iniData.indexOf( "[", sp + KEY.length );
var str_keyData :String = str_iniData.slice( sp, rp );
// 2. 해당 Key에 해당하는 Section에서 변수의 값을 찾는다.
sp = str_keyData.indexOf( VAR + "=" ) + VAR.length + 1;
rp = str_keyData.indexOf( "\n", sp );
trace( str_keyData.slice( sp, rp ) );
var str_iniData :String = evt.target.data;
// 1. 해당 Key값 만큼만 String 자르기
var sp :int = str_iniData.indexOf( "[" + KEY + "]" );
var rp :int = str_iniData.indexOf( "[", sp + KEY.length );
var str_keyData :String = str_iniData.slice( sp, rp );
// 2. 해당 Key에 해당하는 Section에서 변수의 값을 찾는다.
sp = str_keyData.indexOf( VAR + "=" ) + VAR.length + 1;
rp = str_keyData.indexOf( "\n", sp );
trace( str_keyData.slice( sp, rp ) );
}
'Programming > ActionScript' 카테고리의 다른 글
[AS 3.0] Load Image & Set Timer & Read INI (0) | 2012.01.26 |
---|---|
[AS 3.0] 1172: Definition flash.filesystem:File Could not be found. (0) | 2011.10.11 |
[AS 3.0] LocallConnection Class를 사용하여 SWF간 이벤트 주고받기 (0) | 2011.09.05 |
[AS 3.0] 라이브러리에 있는 객체 동적으로 Attach하기 (0) | 2011.08.26 |
[AS 3.0] WCF Client using WSDL In Actionscript 3.0 (0) | 2011.08.26 |