2009-08-12 2 views
2

플래시 초보자로서 나는이 사실을 매우 혼란스러워했고 두 시간의 비용이 들었다. 누군가가 똑같은 문제가 생길 경우에 대비하여 내 자신의 질문에 답하십시오.HTML에서 플래시 무비로 변수를 전달

<param name="movie" value="movie.swf?param=value" /> 
<embed src="movie.swf?param=value" ... 

또는이 : 모두가 올바른로 'PARAM'라는 _root 또는 _level0 범위에서 변수를 생성한다

<PARAM NAME "FlashVars" VALUE="param=value"> 
<EMBED .... FlashVars="param=value"> 

기술적으로 당신은 이런 식으로 뭔가를 할 수 있어야한다 값.

이 플래시 (CS4, ActionScript 2.0)을 내 특정 버전에서, 그러나

here을 문서화이 작동하지 않았다.

+0

특정 HTML 및 액션 스크립트 코드를 게시 할 수 있습니까? Flashvars는 Flash 응용 프로그램에 데이터를 가져올 수있는 좋은 방법입니다. – Newtang

답변

0

나를 위해 일한 대답은 CS4에 의해 생성 된 HTML에서 AC_FL_RunContent() 함수를 수정하여 영화에 전달되어야하는 매개 변수를 추가하는 것입니다.

'flashvars', 'param=value', 

이 함수는 OBJECT 및 EMBED 태그 또는 쿼리 문자열에 직접 지정된 항목을 덮어 씁니다.

1

당신은 또한 값을 반환하는 HTML 페이지에 자바 스크립트 함수를 호출하는 ExternalInterface를를 사용할 수 있습니다 ... 거기에서 더 나은 솔루션이있을 수 있습니다. 이는 값을 하드 코딩 할 필요가없는 부가 가치를 가지며 매개 변수를 JavaScript 함수에 전달할 수 있습니다. 플래시 무비에서

:

function stringAdd(inptStr){ 
var strToAdd = inptStr; 
strToAdd += " added text"; 
return strToAdd; 
} 

는 Flash에서 ActionScript 함수를 호출 할 때 : 그래서

getOutsideValue("I get"); 

을 그것은 것 HTML 페이지에 자바 스크립트에서

import flash.external.ExternalInterface; 

function getOutsideValue(argToJS:String):Void { 
var jsArgument:String = argToJS; 
var result:Object = ExternalInterface.call("stringAdd", jsArgument); 
} 

반환 :

I get added text 

ExternalInterface를 사용하여 JavaScript 내부에서 Flash 내의 함수를 호출 할 수도 있습니다. 이 두 가지 예제는 다음에서 찾을 수 있습니다. http://kb2.adobe.com/cps/156/tn_15683.html

이것은 SWF 무비에서 정보를 전달하는 데 권장되는 방법으로 하드 코딩 된 값을 사용하는 것보다 훨씬 강력하고 강력합니다.

+0

고마워, 그 멋진 솔루션입니다 :) – lucrussell

관련 문제