AS3 ループ処理で変数宣言の定義?
ああ、なるほどね、そういう考えもあるな、、
という質問をいただいたのでご紹介
FlashのASに限らず、スクリプトで変数を定義する場合
まとめて一括で変数を定義したい場合に遭遇する事が多々あると思います。
例えば
var a1:String,a2:String,a3:String,a4:String,a4:String.....
ご質問をいただいた方はそれをforのループで一括宣言が出来ないかと
お考えになったらしいのです。
for (var i:uint = 0; i <10; i++) {
["var a"+i] = new String;
}なるほど、、こういう風に考えたくなる気持ちもわかります。
でも、多分、エラーが返されてしまうとおもうのです。
色々な回避方法があると思うのですが、
こんな感じでご説明さし上げました。
例はとりあえずSpriteで●を生成する例です。
var listArray:Array = [];
for (var i:uint = 0; i <20; i++) {
var tmp:Sprite = new Sprite();
listArray.push( tmp );
listArray[i].graphics.beginFill(Math.random() * 0x1000000);
listArray[i].graphics.drawCircle(0, 0, 10);
listArray[i].graphics.endFill();
}で
取り出すときは
for eachとかforとかで
for (var i:uint = 0; i <listArray.length; i++) {
listArray[i].x = i+10;
addChild(listArray[i]);
}どうでしょうか?
Comments
Powered by Facebook Comments
この記事を読んだ方は下記も投稿も読んでいます
- Facebookの友達リストを非表示にする方法
- Facebookの友達リストを非表示にする方法(タイムライン編)
- 文字コードをWEB上で変換してくれるサイト[文字コード変換WEB「mozicode」]
- jQueryでURLパラメータを扱う(get引数を使いたい)
- jQueryでタイマー処理(X秒後にフェードイン等)
コメント・トラックバック
コメントする


