04-08-10
Flashに値やパラメータを送る方法まとめ
HTMLにswfファイルを貼り付けてブラウザで見るときに、場合によってはHTMLに書いておいた値やパラメータをFlashの変数に渡してあげたいときがあると思います。Flash内を更新したいときや、ちょっとした汎用性のあるコンテンツを作るときに、Flashアプリケーションがインストールされていない環境でも、Flashの更新をしたりする時に便利です。色々ある方法の中で一番シンプルな方法、swfobjectを使って、ActionScriptにどう書けばいいのか紹介します。
swfobjectを使ってパラメータを設定する場合
swfobjectの使い方はswfobject v2.xの使い方を参考にしてみてください。
Flashコンテンツの背景色を色々変更したいという例えで紹介します。HTMLに書くswfobjectの書き方のイメージはこんな感じにします。
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
<!--
var flashvars = {bgColor: "FF0000"};//←背景色
var params = {allowscriptaccess: "always"};
swfobject.embedSWF("flash.swf", "flashContent", "100", "100", "8", "", flashvars, params,attributes);
//-->
</script>
flashvarsに変数名「bgColor」を書いて、値である16進数の「FF0000」を書いてみました。
ではActionScriptではどのように書くか
ActionScript2.0以下でflashvarsを取得する場合
ステージ全部に収まるシェイプを作って、今回の例では100×100の正方形のMovieClipを作ってステージに配置します。インスタンス名を「bg」としました。第1フレームに下記のActionScriptを書きます。
var color_obj = new Color(bg);// カラーオブジェクトを作成する var colorStr = "0x"+_root.bgColor;//ここがswfobjectで設定した値が入ります color_obj.setRGB(colorStr);
厳密なことはわかりませんが、flashvarsに格納した値はFlash上では_rootに宙に浮いてて、それを_root.[変数]にしてあげるとポコ!ってはいる。そんなイメージにしてますボクはw
ActionScript3.0でflashvarsを取得する場合
ActionScript3.0になってから、そんな宙に浮いていた値のイメージが、ちゃんとScriptを書いて値を取りに行くことを書かなければいけなくなりました。swfに渡そうとする変数の値は、LoaderInfoクラスで取得することができます。
import flash.display.LoaderInfo var params:Object = loaderInfo.parameters; var bgColorStr:String = params["bgColor"];
params[flashvars]になるので、複数の値を取得する時は名前を指定してあげれば取得することができます。
Related posts
Leave a Comment
LaCie 3.5インチ 外付ハードディスク LaCie grand LCH-GRシリーズ 2TB 14,190円(10,170円OFF)
ActionScript 3.0 イメージエフェクト - スクリプトで作る画像効果アニメーションの次は画像や動画、音に対してのエフェクト演出に関して書かれているみたいです。非常に楽しみです!!!
基本からしっかりわかるActionScript 3.0ActionScript3.0になかなかとっかかれない方むけです。分かりやすい文章とイラストとサンプルでとても読みやすいです。
h concept Cupmenカップメン グリーン D-520-GRカップめんのフタを必死におさえてくれるカワイイやつ!色が変わったらできあがり~♪
Flash Math Creativity, Second Edition


ActionScript 3.0 アニメーション丁寧に解説されているのはもちろん、サンプルを作っていくと後からそのサンプルを応用して作っていく。クラスの仕組みや三角関数や加速度、摩擦など詳しく書かれているので値段の価値はそうとうあると思います。
AGFAPHOTO 503万画素デジタルカメラ Sensor 505Dagfaのトイデジ。あまい機能で作り出す独特な写真が撮れます。晴天のとき本体を動かしながらシャッターを押すとゆがんだ像が撮れてとても面白いです!
SANYO USB出力付きリチウムイオンバッテリー出先でiPhoneの電池がなくなった!そんな時、このバッテリーで3回ぐらいフル充電できます。コンパクトで非常に便利。USB dockケーブルが付属していないのでお忘れなく
「空気読み」企画術
