0

这是我的代码: 变量:

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

Update()方法中:

    switch (CurrentGameState)
    {
        case gameState.gameLoading:
    //My gameLoading state logic here
    break;
    //And so on the other states, etc mainMenu, gameOptions, levelSelect, gamePlaying

还有我的Draw()方法:

    switch (CurrentGameState)
    {
        case gameState.gameLoading:
    //Draw gameLoading state here
    break;
    //And so on the other states, etc mainMenu, gameOptions, levelSelect, gamePlaying

所以我需要类似的东西if()?和一个计时 30 秒的计时器,然后它调用 aspriteBatch.Draw()在屏幕上绘制我的图像。

4

1 回答 1

1

你的逻辑似乎很合理。你可以像这样实现它:

您可以创建一个字段:float elapsedTime;

然后在您的Update()方法中,将经过的时间添加到其中:

elapsedTime += (float)gameTime.ElapsedGameTime.TotalSeconds;

然后在你的Draw()方法中:

if (elapsedTime >= 30.0)
{
    // Draw the image
}
于 2013-08-08T16:59:15.890 回答