AS3 flashvarsを利用してhtmlファイルからパラメータを受け取る
- 時間:2009年11月16日 15:23
-
delicious に登録
-
はてブに登録
- トラックバック:(0)
- コメント:(0)
たまに使用するのでメモ。
AS2.0の時はそのまま何も難しいことなく使用できていたがAS3.0になって少しだけ複雑になった。
SWFファイルに読込まれた変数は、DisplayObject.loaderInfoプロパティのLoaderInfo.parametersプロパティに設定される模様。
【サンプルswf】
【Sample20091116.as】
var flashvars = {
name :"PANDAMA",
url:'http://www.pandama.net/'
};
下記コード30行から32行目が重要!
【Sample20091116.as】
package {
import flash.display.*;
import flash.events.*;
import flash.display.LoaderInfo;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormatAlign;
public class Sample20091116 extends Sprite {
public function Sample20091116():void{
stage.scaleMode=StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
_init();
}
private function _init():void {
/*
* htmlから受け取ったパラメーターをオブジェクトに入れる
* loaderInfo.parametersで受け取れる(要調)
* 連想配列で値を代入する
*/
var jsFrom:Object = loaderInfo.parameters;
var name = jsFrom["name"];
var url = jsFrom["url"];
var format:TextFormat=new TextFormat();
format.color=0x333333;
format.size = 14;
format.bold = true;
var name_txt= new TextField();
name_txt.width = 140;
name_txt.autoSize = TextFieldAutoSize.LEFT; //autoSizeを指定しないと高さが100pxになる
name_txt.x = 10;
name_txt.y = 10;
name_txt.selectable=false;
addChild(name_txt);
name_txt.defaultTextFormat = format;
name_txt.text = name;
var url_txt= new TextField();
url_txt.width = 140;
url_txt.autoSize = TextFieldAutoSize.LEFT; //autoSizeを指定しないと高さが100pxになる
url_txt.x = 10;
url_txt.y = 40;
url_txt.selectable=false;
addChild(url_txt);
url_txt.defaultTextFormat = format;
url_txt.text = url;
}
}
}
【参考サイト】
AS3 flashvarsを利用してhtmlファイルからパラメータを受け取るに対してコメントをする