2011-06-17 19 views
0

私は次の問題に対する最善のアプローチを探しています。私はムービークリップを含む配列を持っています。すべてのムービークリップはテー・タイプで、ステージの上にはそれぞれ互いに隣り合っています。配列内の項目をフィルタリングする

私は3つのボタンを持っていますが、それぞれのタイプをシンプルにしています。私がしたいのは、ボタンの1つをクリックして、右のタイプに一致しないムービークリップをすべてステージから取り除き、残りのムービークリップはトゥイーンしてお互いに隣り合うようにする必要があります。 ボタンをもう一度クリックすると、ムービークリップが元の位置に再び表示され、すべてのムービークリップが再び隣に表示されます。

これを処理するにはどうすればよいでしょうか?

+0

ArrayCollectionフィルタ関数を調べる –

答えて

1

また、Array.filterを使用してみてください。

私はdisplay()の実装を省略しました。私は通常、GreensockのTweenNanoを使用して要素をツイーンします。

1

各MovieClipに余分なデータを追加する必要があります。データは動的なので、次のようにデータを追加することで簡単に行うことができます。

myMovieClip.data = "red";あなたはそのようにフィルタリングすることができ

は次に:もちろん

onRedFilterClick(event:MouseEvent):void 
{ 
    var n:int = theMovieClipsParent.numChildren; 
    while (n--) 
    { 
     var mc:MovieClip = theMovieClipsParent.getChildAt(n) as MovieClip 
     mc.visible = mc.data != "red"; 
    } 
} 

を、ように、ムービークリップの配列を格納ちょうど赤いムービークリップの配列を格納...など、これを最適化する方法の積み重ねがあり、 。または、動的クラスを悪用しないようにMovieClipを拡張することもできます。しかし、これはあなたを得るために十分であるはずです。 MovieClipsParentを置き換える必要があることに注意してください。

トゥイーンに関しては、それはやや別の問題です。トゥイーンについてたくさんの質問と回答があります。 googleもあります...

関連する問題