2011-11-07 4 views
1

래퍼 앱을 사용하여 원격 SWF를 다운로드하고 Xoom Tablet에 저장합니다. 다운로드와 내가 시도하고 "메인"는 널 (null)에서 "단계"호출하면 내로드 된 SWF에서 수 있도록로드 된 SWF 타겟팅과Android 용 AS3 Air - SWF를 자체 Main()으로로드하십시오.

var file:File = File.applicationStorageDirectory.resolvePath("app.swf"); 
var loader:Loader = new Loader(); 
loader.load(new URLRequest(file.url)/*,context needed?*/); 
_main.addChild(loader); 

나사처럼 잘하지만 사용하여 뭔가를 작품을 저장합니다. 로드 된 SWF에는 샌드 박스가 있으므로로드하고 실행하는 것처럼 생각했습니다. 자체로 설치했기 때문에 문제가되지 않습니다. 이 앱이 데스크톱 앱인 경우 NativeWindow를 사용할 수 있지만 아직 모바일 기기에서는 지원되지 않습니다. 경로와 루트가 손상되지 않은 자체 샌드 박스에서로드하고 실행할 수있는 알고있는 옵션이 있습니까? 아마도 그것은 래퍼 swf에서 별도의 swf로 시작하는 명령?

+0

은'swf'Main' 생성자 또는'Event.ADDED_TO_STAGE' 핸들러 내부에서'stage'가 호출됩니까? – www0z0k

+0

예 스테이지가 라이브로 시작된 후 호출됩니다. –

답변

1

더 많은 문제가 있었지만 올바른 방법을 찾았습니다. "파일"을 읽지는 못했지만 제대로 작동합니다.

function getSWF():void 
{ 
var request:URLRequest = new URLRequest("child.swf"); 
var loader:Loader = new Loader(); 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadHandler); 
loader.load(request); 
_main.addChild(loader);// _main is my display sprite 
} 

function loadHandler(event:Event):void 
{ 
    var childSwf:Object = event.target.content; 
    childSwf.init(PARAMS);// in my case I needed to pass XML but this is any method in the Main of the child swf, note that "stage" is read only, so your parent swf needs to set any stage vars you need 
} 
관련 문제