我有一个名为 OESDatePicker 的类,顾名思义,它是一个日期选择器。
我的类中有这个方法返回一个包含工作日名称的精灵:
private function DrawWeekDays():Sprite
{
var temp:Sprite = new Sprite();
var wds:Array = new Array();
var format:TextFormat = new TextFormat();
format.font = "Tahoma";
format.align = TextFormatAlign.CENTER;
format.size = 11;
format.color = 0xffffff;
trace("HERE");
/*for( var i:int = 0; i < 7; i++ )
{
trace(i);
wds[i] = new TLFTextField();
/*wds[i].width = CELL_SIZE;
wds[i].defaultTextFormat = format;
if( "en" == lang )
{
wds[i].text = day_names_en[i];
}
else
{
wds[i].text = day_names_fa[i];
}
//wds[i].y = 0;*/
//wds[i].x = MARGIN + i * CELL_SIZE;
//wds[i].text = "kkk";
//temp.addChild(wds[i]);
//}
return temp;
}
如您所见,我已经注释掉了 for 循环。如果我不闪烁,运行电影时会崩溃。问题是不会执行 trace("HERE") 指令。奇怪的是我从来没有调用过那个方法。但是,如果我删除 for 循环注释,flash 将崩溃而不会在输出中打印任何内容。有任何想法吗????
编辑:以下代码也有同样的问题:
private function DrawWeekDays():Sprite
{
var temp:Sprite = new Sprite();
var wds:Array = new Array();
var format:TextFormat = new TextFormat();
format.font = "Tahoma";
format.align = TextFormatAlign.CENTER;
format.size = 11;
format.color = 0xffffff;
trace("HERE");
//for( var i:int = 0; i < 7; i++ )
//{
//trace(i);
wds[0] = new TLFTextField();
wds[0].width = CELL_SIZE;
wds[0].defaultTextFormat = format;
if( "en" == lang )
{
wds[0].text = day_names_en[0];
}
else
{
wds[0].text = day_names_fa[0];
}
wds[0].y = 0;
wds[0].x = MARGIN + 0 * CELL_SIZE;
temp.addChild(wds[0]);
//}
return temp;
}