Why can't I use an instance name?

Hiya,

Whilst trying to solve one problem, I came across another.

I’ve dynamically created 3 buttons, that when clicked shows me the “id” of that button.

But when I try to do something specifically to an individual button, I can’t seem to target it by it’s instance name. How can I apply an instance name to each button during the loop?

for (var i:int = 0; i < 3; i++) {

	var myMovieClip:MovieClip = new MovieClip();
	myMovieClip.id="btn"+i;
	myMovieClip.buttonMode=true;
	myMovieClip.mouseChildren=false;
	myMovieClip.addEventListener(MouseEvent.CLICK, onClick);
	addChild(myMovieClip);
	
	myMovieClip.graphics.beginFill(0x0099FF);
	myMovieClip.graphics.drawRect(0,0,100,100)
	myMovieClip.graphics.endFill();
	myMovieClip.x = 150*i;
	myMovieClip.y = 100;

}


function onClick(e:MouseEvent):void {
	trace(e.currentTarget.id);
}

btn2.alpha = 0.5; // This gives me the "Access of undefined property btn2" error

Thanks!

Mark