我的if语句不起作用

时间:2015-11-16 07:19:12

标签: arrays actionscript-3 if-statement

它要么是" Riktig,bokstaven forekommer"选择正确的字母或其他。我做错了什么,当我开始它现在没有消息显示。

btnStart.addEventListener(MouseEvent.CLICK, start);

var feil:Array = new Array  ;

var riktig:Array = new Array  ;

var bokstav:Array = new Array  ;
bokstav[0] = "b";

bokstav[1] = "r";

bokstav[2] = "e";

bokstav[3] = "v"
var txtBokstav:TextField = new TextField( );

txtBokstav.maxChars = 1;

txtBokstav.restrict = "a-z æ ø å";

txtBokstav.type = flash.text.TextFieldType.INPUT;

 addChild(txtBokstav);

function start(evt)
{
    var bokstavInn:String = String(txtBokstav.text);

    if (txtBokstav.text.length == 1)
    {
        if (bokstav.indexOf(bokstavInn) >= 0)
        {
            txtUtskrift.text = "Riktig, bokstaven forekommer";

            riktig.push(bokstavInn);

            for (var i = 0; i < riktig.length; i++)
            {
                txtUtskrift.appendText(riktig[i] + ", ");
            }
        }
        else
        {
            txtUtskrift.text = "Feil, bokstaven forekommer ikke";

            feil.push(bokstavInn);

            for (var l = 0; l < feil.length; l++)
            {
                txtUtskrift.appendText(feil[l] + ", ");
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

1)你确定txtUtskrift在舞台上并且可见吗?

2)确保正在调用start()(使用断点或跟踪)

3)正如askmozo建议的那样,将trace语句放在可能的执行流程中。因此,在start函数的开头,以及每个可能的if条件内。您可以为text.length测试添加else

function start( evt )
{
    trace( "start()..." );

    if (txtBokstav.text.length == 1)
    {
        // ... what you already have
    }
    else
    {
        trace( "txtBokstav length not valid:", txtBokStav.text.length );
    }

    trace( "...start()" );
}