0

私はActionscriptを学んでいて、forループで立ち往生しています。

私はこのコードを持っています、

movieClip.thumbnail1.addEventListener(MouseEvent.CLICK ,myBtn1);
function myBtn1(evt:MouseEvent):void
{

     var myMC:MC1 = new MC1();
     mcPlacement.addChild(myMC);
}

movieClip.thumbnail2.addEventListener(MouseEvent.CLICK ,myBtn2);
function myBtn2(evt:MouseEvent):void
{

     var myMC2:MC2 = new MC2();
     mcPlacement.addChild(myMC2);
}

そして、私は疑問に思っています。長い道のりを入力しなくても10個以上のボタンを実行できるように、forループをどのように使用してそれらを積み重ねますか?配列も使用する必要がありますか?

4

1 に答える 1

0

movieClipにイベントリスナーを追加するthumbNailsのみが含まれている場合は、次の操作を実行できます。

private function addEventListeners():void
{
    for(var i=0; i<movieClip.numChildren; i++)
    {
        var dp:DisplayObject = movieClip.getChildByIndex(i) as DisplayObject;
        dp.addEventListener(MouseEvent.CLICK,onThumbNailClicked);
    }
}

private function onThumbNailClicked(e:MouseEvent):void
{
    trace("Clicked : "+e.target.name);

}

サムネイルの名前を事前に知っている場合は、イベントハンドラー内にさまざまなムービークリップを作成し、それらをmcPlacementに追加できます。

private function onThumbNailClicked(e:MouseEvent):void
{
    var mcs:Object = {
        "thumbNail1":MC1,
        "thumbNail2":MC2
    };
    trace("Clicked : "+e.target.name);
    var mc:MovieClip = new mcs[e.target.name]();
    mcPlacement.addChild(mc);
}
于 2012-08-20T15:58:16.970 に答える