我在代码中所做的更改不会发生

时间:2014-04-13 00:01:48

标签: c# xna

我正在使用XNA框架中的游戏。 由于某些原因,我在代码中所做的更改并没有改变游戏。 我真的尝试了这段代码变得非常荒谬:

    protected override void Update(GameTime gameTime)
    {
        if (false)
        {
            // Allows the game to exit
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();
            ProcessNetworkMessages();
            if (!IsHost)
            {
                KeyboardState newState = Keyboard.GetState();
                localPlayer.Update(gameTime, oldState, newState, board);
            }
            base.Update(gameTime);
        }
    }

并且游戏仍然照常运行。

1 个答案:

答案 0 :(得分:0)

我很惊讶没有人知道明显的错误......

如果答案为真,则运行if语句,如果答案为false,则会跳过。因此,如果你输入false,很明显它不会运行你的代码。如果将其更改为true,它将始终运行您的代码,无论如何。将true或false直接放入if语句就像是注释掉代码行。

protected override void Update(GameTime gameTime)
    {
        if (false) //<--- The answer is false, let's not run this code block!
        {
            // Allows the game to exit
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();
            ProcessNetworkMessages();
            if (!IsHost)
            {
                KeyboardState newState = Keyboard.GetState();
                localPlayer.Update(gameTime, oldState, newState, board);
            }
            base.Update(gameTime);
        } // Start running code from here -->
    }

基本上你没有更新任何东西,这段代码没有运行。在if语句中尝试换行以查看它是否运行。