2012-05-29 181 views
-2

所以我有一个很容易解决(我认为)的问题。 我正在做一些迷你游戏,可以说我有游戏1,游戏2,游戏3。 我可以开始game1,然后完成后我可以从头开始游戏。 问题是,当我再次开始游戏时,我做了game1 = new Game1();它不是从0开始的,有些对象已经被赋予了game1,所以我显然会得到错误。重新创建新对象

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

有没有简单的方法来解决这个问题,还是我应该手动删除每个项目? 在此先感谢!

+0

可以粘贴一些你的代码?它听起来像你有一个静态属性的地方。 –

回答

4

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

+0

感谢您的快速响应,是的,我相信这是问题所在。我可以怎样处理事件?我有几个动作需要是静态的,那么这会是一个问题吗? – waclock

+0

我认为你可以在构造函数中重置你的静态属性值。 **但是**,如果您需要重置它们,您一定要确保它们需要静态。 – platon

0

你在Game类中使用静态字段吗?

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

0

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

0

我想我的误解,因为创建一个新的实例应该清楚什么每个定义或在构造函数或静态

原位缺口,如果im缺少点然后尝试寻找到了IDisposable