-2

所以我有一个很容易解决(我认为)的问题。我正在制作一些迷你游戏,假设我有游戏 1、游戏 2、游戏 3。我可以开始游戏1,然后在完成后我可以从头开始游戏。问题是当我重新开始游戏时,我做 game1=new Game1(); 它不是从 0 开始的,一些对象已经分配给了 game1,所以我显然得到了错误。

澄清一点:用户选择:Game1,Game2,Game3 --> 他选择了 Game1 --> CreateGame1(); --> 游戏1=新游戏1(); 用户完成游戏并选择再次进入游戏: CreateGame1() --> game1=new Game1(); 这就是问题所在。game1 在我的课开始时被定义为 Game1 game1;

有什么简单的方法可以解决这个问题,还是我应该手动删除每个项目?提前致谢!

4

4 回答 4

4

我认为您有一些静态属性,其值在创建新对象时不会重置。我没有看到这个问题的其他原因。无论如何,由于您没有发布代码,因此很难准确地回答这个问题。

于 2012-05-29T15:26:31.693 回答
0

您是否在 Game 类中使用静态字段?

当您创建一个类的新实例时,所有非静态字段都会被初始化。但是静态字段不是每个实例的,因此它们保持其值。

于 2012-05-29T15:28:06.380 回答
0

如果您使用静态字段,请记住这些是“类级别”,并且在创建新实例时不会“重置”。

于 2012-05-29T15:28:17.233 回答
0

我认为我误解了,因为创建一个新实例应该清除不是按定义或在构造函数或静态中的任何内容

如果我错过了这一点,那么请尝试查看 iDisposable

于 2012-05-29T15:30:32.990 回答