Доступ к вложенным мувиклипам из основного класса мувиклипа - PullRequest
0 голосов
/ 17 февраля 2011

привет, у меня есть мувиклип, который я собираюсь добавить в список отображения с моим классом документов во время выполнения, потому что будет много его экземпляров.Внутри «коробки» MoviClip есть еще 3 экземпляра MovieClip, и у каждого из этих трех есть еще два.Это выглядит так:

box
    circle 0
        oval0
        oval1
    circle 1
        oval0
        oval1

    circle 2
        oval0
        oval1

Вот код, который у меня есть сейчас:

package 
{
    import flash.display.MovieClip;
    public class BoxSet extends MovieClip
    {
        private var theArr:Array;
        public function BoxSet()
        {
            run();
        }
        private function run():void
        {
            theArr = new Array();
            for (var i:uint = 0; i<this.numChildren; i++)
            {
                var mc:MovieClip = this["n" + i] as MovieClip;
                addChild(mc);
                theArr[i] = mc;
                mc.alpha = 0;
            }
        }
        public function setAlpha(num:uint):void
        {
            theArr[num].alpha = 1;
        }
    }

}

Это работает, но я хочу знать, есть ли более эффективный способ сделать это,или, если у меня есть хороший способ сделать это?Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 17 февраля 2011

То, что у вас есть, выглядит совершенно эффективно, если вы просто хотите ссылаться на экземпляры MovieClip по номеру, а не по имени.

0 голосов
/ 17 февраля 2011

Есть 2 способа работы с вложенными mcs в as3.01. Абсолютные ссылки (жесткие) 2. Относительные ссылки (гибкие).В структуре, вложенные mcs, такие как mc3-> вложенные в mc2-> вложенные в mc1, абсолютная рефракция будет выглядеть, например, как root.mc1.mc2.mc3 для доступа к mc3 из основной временной шкалы.

Относительная ссылка - на любой стадии вы можете ссылаться на родителя mc, используяthis.parentили любой другой mcs, расширяя структуру abv.

sry 4 опечатки im в спешке

...