Когда вы захотите сделать что-то подобное, я дам вам совет. Не добавляйте его непосредственно на сцену, поскольку существуют другие объекты DisplayObject, которые также должны быть добавлены непосредственно на сцену, и это усложнит выполнение того, что вы хотите сделать.
Сделайте DisplayObjectContainer
на ваш выбор, будь то MovieClip
или Sprite
. Лично я бы использовал Sprite
для хранения ваших MovieClip
с.
Причина, по которой мы перемещаем их в их собственный контейнер, заключается в том, что мы можем перебирать всех дочерних элементов определенного объекта и выполнять действия с каждым дочерним элементом; в вашем случае играйте в кадр 2.
var container:Sprite = new Sprite();
var circles:Array = new Array() //Declare array for displaying multiple objects
function spawn(evt:MouseEvent):void { //MouseEvent trigger, working
for (var i:int = 0; i<5; i++) { //Run five times
circles[i] = new circle(); //Make a new circle
container.addChildAt(circles[i],1); //Layer control, no problem
circles[i].x = (stageCenterWidth*Math.random()*5)/(Math.random()*10);
circles[i].y = (stageCenterHeight*Math.random()*5)/(Math.random()*10);
}
}
теперь, чтобы что-то делать со своими клипами, вы просто ссылаетесь на родительский объект, контейнер;
for (var i:int; i < container.numChildren; i++)
{
MovieClip(container.getChildAt(i)).gotoAndStop(2); //We cast it to MovieClip to tell it what type of child we are manipulating.
}
По моему мнению, массив является избыточным, но вы могли бы использовать его так же легко, чтобы получить ссылку на каждый клип, как вы добавили каждую ссылку на круг в том же линейном порядке, в котором они добавляются в список отображения, то же самое для цикла но побежал против длины массива вместо контейнерных клипов numChildren.
Из-за мощных и всплывающих списков на экране удобно создавать родительские клипы для размещения общих элементов отображения внутри. Скажем, вы поместили десять предназначенных кнопок навигации в один клип, который называется nav. Вы можете просто прослушать MOUSE_DOWN
на nav, а затем в функции обработчика определить, по какому дочернему элементу щелкнули, и принять соответствующие меры. Это потрясающе, так как мы исключили девять других слушателей, которые потенциально никогда бы не были удалены.
Надеюсь, это помогло.