我遇到了Windows Phone的C#和XNA问题。我创建了一个名为Item的类,它在XNA的Game1类中。我遇到的问题是,在创建所有项目后,我无法对其进行更改,但不会引发错误,但更改也不会生效。因此,代码是这样的:我无法对类中的成员进行更改
public class Game1 : Microsoft.Xna.Framework.Game {
Item Loading;
Item[] Stuff = new Item[2];
public class Item {
public bool visible = true;
}
protected override void LoadContent() {
Loading = new Item();
Stuff[1] = new Item();
}
protected override void Update(GameTime gameTime) {
Loading.visible = false;
System.Diagnostics.Debug.WriteLine(Loading.visible); //prints true
Stuff[1].visible = false;
System.Diagnostics.Debug.WriteLine(Stuff[1].visible); //prints false
}
}
我不明白为什么这是无法改变的变量,我也试图通过在类中的存取方法这样做。我已经基本上复制了一系列Items的代码,所以这让我完全陷入了困境。
你能向我们展示'Item'类中的存取方法吗? – paul
“变量”是什么意思?在OOP中,我们避免使用术语“变量”,我们说“成员”指的是属于类的东西,一些特殊的memebr类型是方法(函数)和属性。哟不能访问课堂以外的“加载”和“材料”,因为默认情况下,成员对班级是私人的。如果你想从Loading和Stuff中获取值,你应该声明它们是公开的(坏方法),或者为成员创建public(可能是只读)属性(访问器)。 –
@ Y.Ecarri'Update'方法是Game1类的一部分,因此它可以访问私有成员'Loading'和'Stuff []'。这不是问题。 –