flash 2.0 for文の中でfunctionを宣言すると最後の値しか入らない

長年の悩みがやっと解消された

XMLを読み込んだ後に、for文でまわして、さらにその中で関数をつかって、ボタンにしたりしてたんだけど
上手く行く時と行かない時があった。
結局最後の値が入ってしまうよう。イベント発生時には、変数iの最後の値が参照されるからです。

こうすると良い

var btnArray:Array = [btn1, btn2, btn3, btn4];

for (var i = 0; i<=btnArray.length; i++) {
	var btn = btnArray[i];
	btn.id = i;
	btn.onRollOver = function() {
		btn.attachMovie("alt"+this.id,"alt"+this.id,this.getNextHighestDepth());
	};
	btn.onRollOut = function() {
		btn["alt"+this.id].removeMovieClip();
	};
	btn.onRelease = function() {
		getURL("java script:openWin"+this.id+"();");
	};
}

以下参考URL

http://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=7763&forum=8&post_id=38616#forumpost38616