2009-08-12 11 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"> 

技術的には、あなたがこのような何かを行うことができるはず値。

これらはhere

を文書化されているただし、Flash(CS4、ActionScript 2.0の)私の特定のバージョンでは、これは動作しませんでした。

+0

特定のHTMLとActionscriptコードを投稿できますか? Flashvarsは、Flashアプリケーションにデータを取り込むための素晴らしい方法です。あなたが言ったことはすべて正しいです。 – Newtang

答えて

0

私のために働いた答えは、CS4によって生成されたHTMLのAC_FL_RunContent()関数を変更し、ムービーに渡す必要があるパラメータを追加することです。

'flashvars', 'param=value', 

この関数は、OBJECTタグとEMBEDタグで直接指定されたものやクエリ文字列を上書きしているようです。

そこよりよい解決策があるかもしれません...

1

また、値を返すHTMLページ上のJavaScript関数を呼び出すためにのExternalInterfaceを使用することができます。これには値をハードコードする必要がないという付加価値があり、JavaScript関数にパラメータを渡すことができます。フラッシュ映画の中

:HTMLページ内のJavaScriptの

import flash.external.ExternalInterface; 

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

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

ですから、FlashでActionScript関数を呼び出します。

getOutsideValue("I get"); 

それはします返品:

I get added text 

ExternalInterfaceを使用して、JavaScript内のFlash内の関数を呼び出すこともできます。両方の例としては、ここで見つけることができます:http://kb2.adobe.com/cps/156/tn_15683.html

SWFムービーにしてから情報を渡すに推奨される方法です、それは確かにちょうどハードコードされた値を使用するよりも、より動的かつ強力であると思われます。

+0

ありがとう、それはいい解決策です:) – lucrussell

関連する問題