从窗口模式转到全屏模式

本文关键字:模式 窗口 | 更新日期: 2023-09-27 18:28:42

好吧,我想要的是在gameState.gameLoading之后从窗口模式切换到全屏模式的代码,这样下一个gameState.mainMenu状态就是全屏。我该怎么做?我的代码是:变量:

    //Game States
    public enum gameState
    {
        gameLoading,
        mainMenu,
        gameOptions,
        levelSelect,
        gamePlaying,
        gameOver
    }
    gameState CurrentGameState = gameState.gameLoading;

Update()方法:

        if (CurrentGameState != gameState.gameLoading)
        {
            IsMouseVisible = false;
            graphics.IsFullScreen = true;
        }
        if (CurrentGameState == gameState.gameLoading)
        {
            IsMouseVisible = true;
            graphics.IsFullScreen = false;
        }

但它不起作用。有什么建议吗?

从窗口模式转到全屏模式

您需要应用图形更改,如下所示:

graphics.IsFullScreen = true;
graphics.ApplyChanges();
// profit

在这里,您可以检查使用graphics.ToggleFullScreen()修复的异常。

我找到的解决方案是:

        //Update() method
        if (CurrentGameState == gameState.gameLoading)
        {
            if (Keyboard.GetState().IsKeyDown(Keys.Enter))
            {
                graphics.ToggleFullScreen(); //?
            }
            graphics.ApplyChanges();
        }