2012-11-06 3 views
4

EasyPano tourweaver 소프트웨어로 만든 swf 파일이 있습니다. outpout은 swf 및 .jpg, .js 등의 다른 파일을 구성하는 일부 .bin 파일이있는 swf 파일입니다. 소프트웨어 swf를 추가하려면 HTML 파일을 만들지 만 플래시 및 AS3을 사용하여 swf를로드해야합니다. 소프트웨어가 생성하는 HTML 및 JavaScript는 다음과 같습니다.AS3에서 매개 변수가있는 외부 SWF로드

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Mahan</title> 
</head> 
<body leftMargin="0" topMargin="0" rightMargin="0" bottomMargin="0"> 
<script type="text/javascript" src="swfobject.js"></script> 
<div id="flashcontent"> 
To view virtual tour properly, Flash Player 9.0.28 or later version is needed. 
Please download the latest version of <a href="http://www.adobe.com/go/getflashplayer" target="_blank">Flash Player</a> and install it on your computer. 
</div> 

<script type="text/javascript"> 
// <![CDATA[ 
var so = new SWFObject("twviewer.swf", "sotester", "100%", "100%", "9.0.0", "#000000"); 
so.addParam("allowNetworking", "all"); 
so.addParam("allowScriptAccess", "always"); 
so.addParam("allowFullScreen", "true"); 
so.addParam("scale", "noscale"); 
//<!-%% Share Mode %%-> 
so.addVariable("lwImg", "resources/talarmahan_1_firstpage.jpg"); 
so.addVariable("lwBgColor", "255,255,255,255"); 
so.addVariable("lwBarBgColor", "255,232,232,232"); 
so.addVariable("lwBarColor", "255,153,102,153"); 
so.addVariable("lwBarBounds", "-156,172,304,8"); 
so.addVariable("lwlocation", "4"); 
so.addVariable("lwShowLoadingPercent", "false"); 
so.addVariable("lwTextColor", "255,0,0,204"); 
so.addVariable("iniFile", "config_TalarMahan.bin"); 
so.addVariable("progressType", "0"); 
so.addVariable("swfFile", ""); 
so.addVariable("href", location.href); 
so.write("flashcontent"); 
// ]]> 
</script> 
</body> 
</html> 

제발 도와주세요!

감사

답변

2

대답은 URLVariables를이 로더의 부하 방법 :로 된 URLRequest 공급에 전달

예 : 기본 SWF 매개 변수를 얻을 수 있습니다 다음 헬퍼 방법도

 var loader:Loader = new Loader(); 
     var flashvars:URLVariables = new URLVariables() 
      flashvars["lwImg"] = "resources/talarmahan_1_firstpage.jpg"; 
      flashvars["lwBgColor"] = "255,255,255,255"; 
      flashvars["lwBarBgColor"] = "255,232,232,232"; 
      flashvars["lwBarColor"] = "255,153,102,153"; 
      flashvars["lwBarBounds"] = "-156,172,304,8"; 
      flashvars["lwlocation"] = "4"; 
      flashvars["lwShowLoadingPercent"] = "false"; 
      flashvars["lwTextColor"] = "255,0,0,204"; 
      flashvars["iniFile"] = "config_TalarMahan.bin"; 
      flashvars["progressType"] = "0"; 
      flashvars["swfFile"] = ""; 
      flashvars["href"] = this.loaderInfo.url; 
     var request:URLRequest = new URLRequest("twviewer.swf"); 
      request.data = flashvars; 
     loader.load(request); 

     addChild(loader); 

(그것의 HTML 래퍼에서)로드 된 SWF에 전달 :

public function getFlashVars(li:LoaderInfo):URLVariables 
    { 
     var vars:URLVariables = new URLVariables(); 
     try 
     { 
      var params:Object = li.parameters; 
      var key:String; 
      for(key in params) 
      { 
       vars[key] = String(params[key]); 
      } 
     } 
     catch(e:Error) 
     { 
     } 
     return vars; 
    } 

SecurityError: Error#2000here를 들어

 var loader:Loader = new Loader(); 
     var request:URLRequest = new URLRequest("twviewer.swf"); 
      request.data = getFlashVars(this.loaderInfo); 
     loader.load(request); 

     addChild(loader); 

- 당신의 대답이 오류

+0

Thnaks 뒤에 많은 이유가 있습니다. 하지만 지금은 보안 오류가 있습니다 : ** SecurityError : 오류 # 2000 : 활성 보안 컨텍스트 없음 ** – user1802176

+0

SO 보안 오류 솔루션을 포함하도록 질문을 업데이트했습니다. –

+0

나는 그것을 고칠 수 없다. 샘플 프로젝트를 우편으로 보낼 수 있습니까? 나는 그것이 간단한 오류라고 생각하지만 나는 그것을 고칠 수 없다. 도와주세요. – user1802176

관련 문제