Here is the example:
1. create an new movieclip and put a rectangle in as background
2. on top (or higher layer) put a dynamic textfield, give it an instance
name of tf
3. give the movieclip in the library a linkage MyButton
4. paste this code in the first and only frame on the Main timeline!:
//BEGIN CODE
//create array for buttonlabels
var arrButtonsLabels:Array = ["One", "Two", "Three", "Four", "Five", "Six",
"Seven"];
var arrButtons = [];
var amount:int = arrButtonsLabels.length;
//Using one loop to do it all
for (var i=0; i<amount; i++) {
var b:MyButton = new MyButton();
b.tf.text = arrButtonsLabels[i];
//position buttons
b.x = Math.round(stage.stageWidth-(amount*b.width))/2 + i* b.width;
b.y = stage.stageHeight-b.height;
//set the name to its index
b.name = i;
//prevent listener to react when items within the movieclip, like
the tf, are clicked
b.mouseChildren =false;
//show nice hand on mouse over
b.buttonMode = true;
//listen to me...
b.addEventListener(MouseEvent.CLICK, b_Clicked);
b.addEventListener(MouseEvent.MOUSE_OVER, b_Moused);
arrButtons.push(b);
//show on displaylist (=stage)
addChild(b);
}
function b_Clicked(e:MouseEvent):void {
for(var i:int = 0; i< amount; i++){
trace(arrButtons[i].myNewProp);
}
}
function b_Moused(e:MouseEvent):void {
var idx:int = arrButtons.indexOf(e.target);
arrButtons[idx].myNewProp = "The button "+ arrButtonsLabels[idx] +"
is moused.";
}
//END CODE
5. Test Movie and look at Output panel
HTH
Cor
-----Original Message-----
Seems like Cor's Array solution would make it through the compiler but would
still throw a runtime error, right? I would much more strongly recommend the
extending solution that Dave suggests.
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders