Xna 更改状态时,我可以重新初始化代码吗?
所以基本上我有一个运行4个游戏状态的游戏。一个是主菜单,三个是我的小游戏。在每一款迷你游戏中,都有较小的状态来处理游戏的各个部分 现在是我的问题。当一名玩家在游戏中死亡时,我想在游戏开始时与他们一起重新开始游戏。所以我使用我的一个小游戏结构将它们发送到。然而,开始时,我的很多布尔值和计数器都被弄乱了,因为它们与initialize设置的不同 有没有什么方法可以让玩家回到我的。开始,并告诉代码重新序列化,以便让我的值回到游戏开始时应该的值Xna 更改状态时,我可以重新初始化代码吗?,xna,initialization,state,restart,Xna,Initialization,State,Restart,所以基本上我有一个运行4个游戏状态的游戏。一个是主菜单,三个是我的小游戏。在每一款迷你游戏中,都有较小的状态来处理游戏的各个部分 现在是我的问题。当一名玩家在游戏中死亡时,我想在游戏开始时与他们一起重新开始游戏。所以我使用我的一个小游戏结构将它们发送到。然而,开始时,我的很多布尔值和计数器都被弄乱了,因为它们与initialize设置的不同 有没有什么方法可以让玩家回到我的。开始,并告诉代码重新序列化,以便让我的值回到游戏开始时应该的值 为大家干杯这取决于游戏的总体架构和代码。 如果您对游戏状态
为大家干杯这取决于游戏的总体架构和代码。
如果您对游戏状态使用不同的类(例如,每个游戏状态一个菜单类),您可以创建一个将所有布尔值和计数器设置为默认值的方法。或者,如果菜单不包含重要数据,您甚至可以重新创建该菜单。您可以创建函数或更改构造函数
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
}
}
为了创建一个将布尔值和计数器设置为默认值的方法,我需要哪行代码?