- 2009-10-13 (火) 13:06
- lesson3
クラス(リンケージ)参照でランダムにムービークリップを呼び出す
あらかじめライブラリーに表示させたいムービークリップを用意し、プロパティーでリンケージのクラス名に順番を付けて用意します。(例:img_mc1)
用意できたら、ムービークリップの順番を配列に置き換えます。
//配列 var myImg:Array = new Array(); myImg[0] = "img_mc1" myImg[1] = "img_mc2" myImg[2] = "img_mc3"
次にランダムで表示させる為のプログラムを用意します。
ランダムで表示させる為には、変数NoにMath.randomを使って、配列の数をランダムに置き換えまる感じになります。
var No = Math.floor(Math.random()* myImg.length);
さらに、ランダムで置き換えられた変数Noを使って、ステージ上にムービークリップを表示させます。
var class_str:String = myImg[No]; var myClass:Class = Class(getDefinitionByName(class_str)); var img:MovieClip = new myClass(); addChild(img);
ランダムで変数Noを決めて、その変数Noの該当する配列の文字列を、getDefinitionByNameでクラス定義しムービークリップとして変数imgに置き換えaddchildでステージ表示させるカラクリになります。
//配列 var myImg:Array = new Array(); myImg[0] = "img_mc1" myImg[1] = "img_mc2" myImg[2] = "img_mc3" //変数 var No = Math.floor(Math.random()* myImg.length); var class_str:String = myImg[No]; var myClass:Class = Class(getDefinitionByName(class_str)); var img:MovieClip = new myClass(); addChild(img); img.x = stage.stageWidth / 2; img.y = stage.stageHeight / 2;
ステージの中心に表示させる為にstage.stageWidth / 2とstage.stageHeight / 2で表示位置を指定してます。
- Newer: カスタムクラスでステージにムービークリップを配置[3-3]
- Older: クラス参照でステージにムービークリップを配置[3-1]
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.addchild.net/as3-beginner/ls3/286.html/trackback
- Listed below are links to weblogs that reference
- クラス参照でステージにムービークリップを配置[3-2] from ADD CHILD = AS3