2012-08-02 5 views
0

이 코드는 JSON 파일을로드하고 구문 분석하려는 위치에 있습니다.외부 JSON 파일을 알 수없는 형식입니다.

Error #2124: Loaded file is an unknown type. URL: http://192.168.1.19/Sheet1.json 

이 내가 그것을로드에 사용하는 기능, 나는 그것이 어떻게 할 수는 : 나는이 만든 클래스와로드하려고 할 때 그러나 그것은 나에게 오류를 제공합니다 (I 이미지를로드하고 소리를 할 수 있습니다) Flash가 파일 형식을 인식합니까?

public function LoadString(path:String) { 
     var stringLoader:flash.display.Loader = new flash.display.Loader(); 
     stringLoader.contentLoaderInfo.addEventListener(LoaderEvent.COMPLETE, loadStringComplete); 
     stringLoader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpError,false,0,true); 
     stringLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, error, false, 0 ,true); 
     stringLoader.load(new URLRequest(path)); 
    } 

    private function loadStringComplete(e:Event) { 
     try { 
      dispatchEvent(new LoaderEvent(LoaderEvent.STRING_LOADED,0,0,e.target.data,true)); 
     } catch (error:*) { 
      dispatchEvent(new LoaderEvent(LoaderEvent.ERROR,0,0,"Error: "+ error.toString(),true)); 
     } 
    } 

JSON 파일의 내용은 Flash CS6의 새로운 Spritesheet 메서드로 생성됩니다.

{"frames": { 

"Front AA0000": 
{ 
    "frame": {"x":0,"y":0,"w":12,"h":13}, 
    "rotated": false, 
    "trimmed": false, 
    "spriteSourceSize": {"x":0,"y":0,"w":12,"h":13}, 
    "sourceSize": {"w":12,"h":13} 
}, 
"Rot AA0000": 
{ 
    "frame": {"x":12,"y":0,"w":14,"h":6}, 
    "rotated": false, 
    "trimmed": true, 
    "spriteSourceSize": {"x":14,"y":8,"w":32,"h":14}, 
    "sourceSize": {"w":32,"h":14} 
}, 
"Rot AA0001": 
{ 
    "frame": {"x":0,"y":13,"w":20,"h":8}, 
    "rotated": false, 
    "trimmed": true, 
    "spriteSourceSize": {"x":9,"y":6,"w":32,"h":14}, 
    "sourceSize": {"w":32,"h":14} 
}, 
"Rot AA0002": 
{ 
    "frame": {"x":0,"y":21,"w":28,"h":8}, 
    "rotated": false, 
    "trimmed": true, 
    "spriteSourceSize": {"x":4,"y":6,"w":32,"h":14}, 
    "sourceSize": {"w":32,"h":14} 
}, 
"Rot AA0003": 
{ 
    "frame": {"x":0,"y":29,"w":24,"h":8}, 
    "rotated": false, 
    "trimmed": true, 
    "spriteSourceSize": {"x":4,"y":6,"w":32,"h":14}, 
    "sourceSize": {"w":32,"h":14} 
}, 
"Rot AA0004": 
{ 
    "frame": {"x":0,"y":37,"w":28,"h":11}, 
    "rotated": false, 
    "trimmed": true, 
    "spriteSourceSize": {"x":0,"y":3,"w":32,"h":14}, 
    "sourceSize": {"w":32,"h":14} 
}, 
"Rot AA0005": 
{ 
    "frame": {"x":0,"y":48,"w":28,"h":14}, 
    "rotated": false, 
    "trimmed": true, 
    "spriteSourceSize": {"x":0,"y":0,"w":32,"h":14}, 
    "sourceSize": {"w":32,"h":14} 
}}, 
"meta": { 
    "app": "Adobe Flash CS6", 
    "version": "12.0.0.481", 
    "image": "Rocket AA 8-Bit.png", 
    "format": "RGB8", 
    "size": {"w":32,"h":64}, 
    "scale": "1" 
} 
} 
+0

'Sheet1.json'의 내용을 게시 할 수 있습니까? 이 파일을 어떻게 제공합니까? – Florent

+0

내용이있는 파일을 편집했는데 이제는 문자열로 추적하지만 오류가 발생하지는 않습니다. IOError 핸들러로 오류가 생성됩니다. – tversteeg

+0

브라우저에서'http : // 192.168.1.19/Sheet1.json'을 클릭하면 어떻게됩니까? – Florent

답변

0

인터넷에서 조사한 결과 Flash 사용자가 이미지, 사운드 및 swf 파일의 기본 로더를 발견했습니다. URLLoader를 사용하여 다른 파일을로드해야합니다. 이 함수를 사용하여 텍스트 파일을 성공적으로로드하면 LoaderEvent는 문자열을 전달하기 위해 만든 맞춤 이벤트 클래스입니다.

public function LoadString(path:String) { 
     var stringLoader:URLLoader = new URLLoader(new URLRequest(path)); 
     stringLoader.addEventListener(LoaderEvent.COMPLETE, loadStringComplete); 
     stringLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpError,false,0,true); 
     stringLoader.addEventListener(IOErrorEvent.IO_ERROR, error, false, 0 ,true); 
} 

private function loadStringComplete(e:Event) { 
     try { 
      dispatchEvent(new LoaderEvent(LoaderEvent.STRING_LOADED,0,0,e.target.data,true)); 
     } catch (error:*) { 
      dispatchEvent(new LoaderEvent(LoaderEvent.ERROR,0,0,"Error: "+ error.toString(),true)); 
     } 
} 
관련 문제