Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xna 更改状态时,我可以重新初始化代码吗?_Xna_Initialization_State_Restart - Fatal编程技术网

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

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

所以基本上我有一个运行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
}
}

为了创建一个将布尔值和计数器设置为默认值的方法,我需要哪行代码?