2011-09-17 1 views
0

私は200個以上のボタンがたくさんあるので、それらをすべてループしたいと思っています。それらはすべてIDEの同じグラフィックシンボルのインスタンスなので、すべてをループする方法が必要です。グラフィックの各インスタンスをループする

JavaScriptでこのようなことを行っていた場合は、document.getElementsByClassName('MyGraphicSymbol')のような処理をしてから、すべての要素の配列を取得できます。だからAS3でこれを探しています。

答えて

1

のActionScript 3のすべてのクラスとオブジェクトはassociativ配列として内部構築されています。つまり、要素を取得できます。このような:

for (var i= 0; i < 200; i++){ 
var button: SimpleButton = this ["button_" + i] as SimpleButton; 
// do something 
} 
1

私は常に自分のアイテムをベクターや配列に追加して、コントロールしやすくします。しかし、あなたは、あなたがこれを行うことが同じコンテナにすべてのボタンを追加した...場合:

var buttons : int = buttonHolder.numChildren; 
var button : MovieClip; 

for(var i : int = 0 ; i < buttons ; i++) 
{ 
    button = buttonHolder.getChildAt(i); 
    button.someFunctionOfChoice(); 
} 
1

あなたはクラスの静的配列について考え、そして中に持っている:すべてのボタンは、その内部配列を持つすべてのボタンを反復処理することができます"button_" + iのようなインスタンス名を持つ

this ["instanceName"]; 

コンストラクタはその配列に新しいインスタンスを追加します。あなただけでもいいです。

for each(var i in YourButtonClass.arrayOfButtons){ 
//do nothing 
} 
関連する問題