Во-первых, вы, вероятно, хотите узнать о Arrays (или Vectors ). Массивы / векторы - это списки, поэтому вы должны поместить все ваши заполнители в массив:
var placeHolders:Array = [placeHolder1, placeHolder2];
Хотя, поскольку для создания заполнителя есть формула, вы, вероятно, захотите сделать это в цикле, чтобы сделать его DRY er ( D on't R Epeat Y себя)
Этот цикл создаст 10 заполнителей и добавит их в массив:
var placeholders:Array = new Array();
for(var i:int=0; i < 10; i++){
var placeHolder = new Sprite(); //if your not using timelines, just use Sprite instead of MovieClip as it's less overhead
placeHolder.x = 20 * (i + 1); //i starts at 0, and goes to 9
placeHolder1.y = 245;
stage.addChild(placeHolder); //add it to the display list
placeholders.push(placeHolder); //add it to the array
}
Теперь (продолжая быть СУХОЙ), подключил один и тот же слушатель событий ко всем вашим цветным кнопкам:
numBlue.addEventListener(MouseEvent.CLICK, selectColor);
numRed.addEventListener(MouseEvent.CLICK, selectColor);
В этом обработчике событий я вызвал 'selectColor' (см. Комментарии к коду)
function selectColor(e:Event):void {
//get the first element in the array
var placeHolder:Sprite = placeholders.shift(); //shift removes the first item from the array, and returns it
placeHolder.addChild(e.currentTarget); //e.currentTarget refers to item that you attached the event listener to, in this case either numBlue or numRed
}
Таким образом, чтобы подвести итог, он получает первый заполнитель в массиве, удаляет этот элемент из массива, а затем добавляет цветную кнопку, которая была нажата как дочерний элемент этого заполнителя.