为什么这种方法会导致Flash在没有被调用的情况下崩溃?

时间:2013-04-09 06:39:29

标签: actionscript-3 flash

我有一个名为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循环。如果我没有闪光灯会在运行电影时崩溃。问题是跟踪(“HERE”)指令不会被执行。而奇怪的是,我从未打过那种方法。但是,如果我删除for循环注释,闪存将崩溃而不会在输出中打印任何内容。任何想法????

编辑:以下代码也有同样的问题:

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;
    }

1 个答案:

答案 0 :(得分:0)

什么人!我在Project Properties中使用class属性来使用该类。我把班级搬到了可以导入它的地方,所有的问题都消失了!

感谢Sunil的所有帮助