2015-05-26 7 views
1

Давайте скажем, что mySaveNewT.data.myNText = 20, а в цикле for 20 клипов (tbox) заселены на сцене. Когда нажимается экземпляр tbox, я хочу изменить его видимость на false.Как получить доступ к Movieclips индивидуально в цикле for as3

  1. Как я могу ссылаться на индивидуальный клиппинг, без необходимости устанавливать видимость каждого клипа на false? (т. е. если MC[2] и получить щелчок, а остальные нет)

  2. Как это сделать в массиве?

Вот мой цикл:

for (var i: Number = 0; i < mySaveNewT.data.myNText; ++i) { 
      newText = new tbox(); 
      newText.x = -220; 
      newText.y = -513 + i * 69 + 0 * 3.8; 
      VWD.addChild(newText); 
    } 

ответ

1

Чтобы толкнуть в массив, и добавить щелчка слушателя и изменения видимости, смотрите код комментарии:

//you need to define an array to store the clips in 
var clickedBoxes:Array = []; //this makes a new empty array, same as doing: = new Array(); 

for (var i: Number = 0; i < mySaveNewT.data.myNText; ++i) { 
     newText = new tbox(); 
     newText.x = -220; 
     newText.y = -513 + i * 69 + 0 * 3.8; 
     VWD.addChild(newText); 
     newText.addEventListener(MouseEvent.CLICK, clipClickHandler,false,0,true); //now you add a click listener to this clip 
} 

function clipClickHandler(e:MouseEvent):void { 
    //e.currentTarget will be a reference to the item that was clicked 

    MovieClip(e.currentTarget).visible= false; //we wrap e.currentTarget in MovieClip so the compiler knows it has a visible property (casting) 
    clickedBoxes.push(e.currentTarget); 
} 

Для петля через ваш массив позже:

for(var index:int=0;index<clickedBoxes.length;index++){ 
    clickedBoxes[index].visible = true; //you may have to cast to avoid a compiler error MovieClip(clickedBoxes[index]).visivle = true; 
} 
+0

Thx для ответа, есть способ, которым я мог бы нажимать этот точный MovieClip (e.currentTarget) на массив, потому что если 10MC заполняется циклом for(), а второе нажато, мне нужно нажать это массив, поэтому я могу ссылаться на него позже ... т.е. что-то вроде newText [2] .visible = false ??? – fi500

+0

надеюсь, что он станет ясным – fi500

+0

Итак, массив должен быть всем, что было нажато? – BadFeelingAboutThis

Смежные вопросы