URL 変数を使って Flash に変数をわたす
URL 変数は、ActionScript からこんな感じで参照できるらしい(要するに _level0 というオブジェクトのプロパティとして参照できる)。
if (_level0.myURL == undefined) { myTxt.text = "myURL is not defined"; } else { myTxt.text = _level0.myURL; }
また、変数名がわかっていなくても、こんな風にすれば変数名と値のセットを取り出せる(for...in ステートメントというものらしい)ということみたいだけど、やってみるとうまく行かないっぽい。
Flashドキュメンテーション
for..in ステートメント
http://livedocs.adobe.com/flash/8_jp/main/00001872.html
Flashドキュメンテーション
typeof 演算子
http://livedocs.adobe.com/flash/8_jp/main/00001857.html
for (name in _root) { if (typeof (_root[name]) == "string") { trace(name+"="+_root[name]); } if (typeof (_root[name]) == "number") { trace(name+"="+_root[name]); } }
ちなみに、「AC_RunActiveContent.js」などを使って HTML に embed している場合は、URL 変数の使い方がちょっとややこしくなる。
それについては、こちらを参照。
ちなみに、hoge.swf の後に hoge.swf?foo=bar のような感じで URL 変数を追加してわたしてやりたい場合には、
flashvars, foo=bar,のように書いてやる必要がある。