Flash HTMLからswfへ値を引き渡す方法…の落とし穴。
こんにちは、コブラです。
HTMLからswfへ値を引き渡すことができます。
本題はここではないので簡単に。
●HTML側
Objectタグ内に一行追加
<param name=”FlashVars” value=”myVar=test” />
Embedタグにも要素を追加
<embed src=”~” FlashVars=”myVar=test“ ・・・>
●Flash側
// HTMLから値を取得
var obj:Object = LoaderInfo(root.loaderInfo).parameters;
var str:String = String(obj[“myVar“]); ←strには”test”が入ります
と、書くだけでいけるんですが、いけない場合もあります!
たとえば、swfが読み込む外部asファイルでこれを書いても取得できません。
そういう場合は、swf、つまりMovieClipで、上のFlash側の処理を書き、
外部asファイルを読み込むときに引数として渡してあげればOKです!
●Flash側(swf=MovieClip側)
// HTMLから値を取得
var obj:Object = LoaderInfo(root.loaderInfo).parameters;
var str:String = String(obj[“myVar“]);
var testclass:testClass = new testClass(str); // 本来値を使いたいクラスに渡す
ちょっとハマりましたが、無事解決です!
最近のコメント