更改状态时,我可以重新初始化代码吗?

时间:2013-05-13 17:33:41

标签: xna initialization state restart

所以基本上我有一个运行4个游戏状态的游戏。一个用于主菜单,另一个用于我的迷你游戏。在每个迷你游戏中,都有较小的状态来处理游戏玩法的各个部分。

现在我的问题在这里。当玩家在游戏中死亡时,我想在开始时与他们重启游戏。所以我使用我的一个迷你游戏结构将它们发送到.beginning然而我的很多bool和计数器都搞砸了,因为它们与初始化它们设置的不同。

有什么方法可以将播放器发送回我的.beginning并告诉代码重新初始化,以便让我的价值恢复到游戏开始时应该是什么状态?

欢呼人们

2 个答案:

答案 0 :(得分:0)

这取决于您的游戏架构和整体代码 如果您对游戏状态使用不同的类(例如,每个游戏状态一个菜单类),您可以创建一个方法,将所有bool和计数器设置为默认值。或者,如果它不包含重要数据,您甚至可以重新创建该菜单。

答案 1 :(得分:0)

你可以创建一个函数或更改构造函数

public class State
{
// Bools and stuff
// ...

public State(/* Whater goes in there */)
{
    // Other logic ...
    Initialise();
}

public void Initialise()
{
// Set the bools and stuff to what they should be when the game starts / restarts
}
}