我目前正在XNA制作一款游戏,它基本上由一系列简短的迷你游戏组成。 目前,我有两个迷你游戏,由他们自己的类Game1和Game2代表。
一旦玩家完成第一个迷你游戏,是否有可能切换到第二个迷你游戏,如果是,那么如何保持他们的分数呢?
答案 0 :(得分:0)
自#34; Game" class是游戏循环(读取输入,转换和渲染)我不认为在XNA项目中复制此类是个好主意。相反,我会创建一个状态引擎(游戏状态的简单枚举,即MainMenu,MiniGame1,MiniGame2,Paused等),并根据gameState变量处理Game1类中的每个特定小游戏。例如
在你的Game1.Draw方法
中switch(gameState)
{
case: GameState.MiniGame1
{
minigame1.Draw(spriteBatch);
}break
case: GameState.MiniGame2
{
minigame2.Draw(spriteBatch);
}break;
}
你的迷你游戏更像是应该加载到Game1级别的游戏,而不是单独的游戏。当然,这是一个微不足道的例子,但希望你能得到这个想法。