articles

2009 年 6 月 12 日

AS3 EventをDispatchする。

CATEGORYactionscript  TAG 5:44 PM

textFieldのautosizeおよび、textFormatのalignのテストを行っておりました
ところ、forループが行われる前に参照しているからではと思いました。
ただ、そんなことはないようです。
その時のソース。

var textfiled_list=new Array();
var textformat_list=new Array();
var dummy_sprite=new Sprite();
dummy_sprite.addEventListener("create",setFormat);
for (var i=0; i<3; i++) {
	var textfiled=new TextField();
	var textformat=new TextFormat();
	textfiled.text="test"+i+makeRandomText();

	if(i==2){
		dummy_sprite.dispatchEvent(new Event("create"));
		trace("イベント配信"+i);
	}
}
function makeRandomText() {
	var rtext="T";
	var rnum=Math.floor(Math.random()*3)+1;
	for (i=0; i<rnum; i++) {
		rtext+="T";
	}
	return rtext;
}

function setFormat(event) {
	trace("受け取りました");
	textformat_list[0].align="left";
	textformat_list[1].align="center";
	textformat_list[2].align="right";

	textfiled_list[0].autoSize="center";
	textfiled_list[1].autoSize="left";
	textfiled_list[2].autoSize="right";

	textfiled_list[0].setTextFormat(textformat_list[0]);
	textfiled_list[1].setTextFormat(textformat_list[1]);
	textfiled_list[2].setTextFormat(textformat_list[2]);
}