尽管跟踪命令为真,但if语句仍无效

Moy*_*nul 0 flash actionscript-3

这真的很烦人,我已经尝试了一切,但无法解决这个问题.

    private function gameLoop(e:Event):void 
    {

        movement();
        trace(randomItem);
        if (randomItem == "pomme")
        {
            updateScore();
        }



        if (timerText.text == "0") 
        {
            stage.removeChild(player);
            stage.removeEventListener(Event.ENTER_FRAME, gameLoop);
            stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDown);
            stage.removeEventListener(KeyboardEvent.KEY_UP, keyUp);
            this.gotoAndStop(3)
            endFrame();

        }
    }
Run Code Online (Sandbox Code Playgroud)

此代码跟踪randomItem.我测试了它,跟踪输出表示randomItem是"pomme".

这意味着分数应该有更新(跟踪命令:"分数已更新");

但它没有,这种方法适用于我正在进行的其他游戏,但这里有什么重要的想法?

    private var colourArray:Array = new Array("pomme ","banane ","laitue ","concombre ","miel");
Run Code Online (Sandbox Code Playgroud)

顶部代码是一个数组,randomItem将它与数组进行比较.

    private var colourArray:Array = new Array("pomme ","banane ","laitue ","concombre ","miel");
    private var len:int = colourArray.length - 1;
    private var rand:int;
    private var randomItem:String;  

        rand = Math.floor(Math.random() * len);
        randomItem = colourArray[rand];
        trace(randomItem);
        baloonText.text = "Teddy wants to eat " + randomItem;
Run Code Online (Sandbox Code Playgroud)

小智 6

colourArray中的条目在末尾包含一个空格.
如果你从这个数组填充randomItem然后"pomme"!="pomme",并且跟踪中的差异不会立即明显.