Windows XNA在加载内容时显示启动屏幕

Windows XNA在加载内容时显示启动屏幕,windows,xna,splash-screen,Windows,Xna,Splash Screen,我正试图在加载内容时将闪屏包含到我的XNA项目中。我尝试了一些教程,但没有一个对我有帮助。我尝试在更新方法中加载内容,强制使用绘图方法等。因为我只在Windows PC上做我的项目,所以我正在寻找一种在桌面中央显示启动屏幕(可能是动画)的解决方案。当加载内容时,闪屏应消失,游戏屏幕应弹出 我正在寻找一些如何做的建议和技巧,因为我在互联网上找不到任何帮助 就我个人而言,我一直在考虑使用表单,但我不知道如何正确使用表单 提前感谢。因为您正在加载内容,所以可能正在进行跨越多个帧的方法调用。如果您在GU

我正试图在加载内容时将闪屏包含到我的XNA项目中。我尝试了一些教程,但没有一个对我有帮助。我尝试在更新方法中加载内容,强制使用绘图方法等。因为我只在Windows PC上做我的项目,所以我正在寻找一种在桌面中央显示启动屏幕(可能是动画)的解决方案。当加载内容时,闪屏应消失,游戏屏幕应弹出

我正在寻找一些如何做的建议和技巧,因为我在互联网上找不到任何帮助

就我个人而言,我一直在考虑使用表单,但我不知道如何正确使用表单


提前感谢。

因为您正在加载内容,所以可能正在进行跨越多个帧的方法调用。如果您在GUI线程上进行该调用,您将冻结游戏,这不是您想要的

相反,在
任务中调用该方法,并将游戏状态设置为“加载”,当任务完成时,设置一个指示任务完成的状态

然后,在绘图方法中,可以执行以下操作:

if (state == State.Loading)
    // draw loading screen
else if (State == .....

因为您正在加载内容,所以可能正在进行跨越多个帧的方法调用。如果您在GUI线程上进行该调用,您将冻结游戏,这不是您想要的

相反,在
任务中调用该方法,并将游戏状态设置为“加载”,当任务完成时,设置一个指示任务完成的状态

然后,在绘图方法中,可以执行以下操作:

if (state == State.Loading)
    // draw loading screen
else if (State == .....

根据肯德尔·弗雷的说法,你可以使用这样的游戏状态:

    public static GameState currentGameState = GameState.Loading;

    public enum GameState
    {
        Loading, Whatever
    }
更新或绘制时:

开关(当前游戏状态) { 案例(GameState.Loading): //牵引负荷筛 打破 案例(游戏状态,随便什么): 打破
}

根据肯德尔·弗雷(Kendall Fray)的话,你可以使用这样的游戏状态:

    public static GameState currentGameState = GameState.Loading;

    public enum GameState
    {
        Loading, Whatever
    }
更新或绘制时:

开关(当前游戏状态) { 案例(GameState.Loading): //牵引负荷筛 打破 案例(游戏状态,随便什么): 打破
}

我只是没有那样想。我想在桌面上制作一些漂亮的闪屏,但有时候更简单的解决方案更好。非常感谢您的回复,它似乎符合我的期望。如果有人有其他的解决方案可以分享,我会感谢他们的帮助。我只是没有那样想。我想在桌面上制作一些漂亮的闪屏,但有时候更简单的解决方案更好。非常感谢您的回复,它似乎符合我的期望。如果有人有其他的解决方案可以分享,我会感谢他们的帮助。当然,在我问问题之前我就想使用游戏状态枚举,但多亏了Kendall,我意识到我的问题可以通过使用这个简单的游戏状态模式来解决。无论如何,谢谢你的回复!当然,在我问问题之前我就想使用游戏状态枚举,但多亏了Kendall,我意识到我的问题可以通过使用这个简单的游戏状态模式来解决。无论如何,谢谢你的回复!