C# 如何在MonoGame的其他类中使用Game1类中声明的变量
我试图在另一个类中使用在C# 如何在MonoGame的其他类中使用Game1类中声明的变量,c#,xna,monogame,C#,Xna,Monogame,我试图在另一个类中使用在Game1.cs中声明的变量 为了简化,我创建了一个新项目,并希望操作int变量x。 我得到的对象引用没有设置为对象的实例。在游戏中。x=0 我是C#的新手,任何人都可以告诉我问题是什么,以及如何解决 这是一节课: class Class1 { Game1 game; public void init() { game = new Game1(); } public void Update() {
Game1.cs
中声明的变量
为了简化,我创建了一个新项目,并希望操作int变量x。
我得到的对象引用没有设置为对象的实例。
在游戏中。x=0代码>
我是C#的新手,任何人都可以告诉我问题是什么,以及如何解决
这是一节课:
class Class1
{
Game1 game;
public void init()
{
game = new Game1();
}
public void Update()
{
game.x = 0;
game.x++;
}
}
这是我在Game1.cs中的代码
public int x = 0;
Class1 y = new Class1();
//other stuff
protected override void Initialize()
{
y.init();
base.Initialize();
}
// Other stuff...
protected override void Update(GameTime gameTime)
{
y.Update();
base.Update(gameTime);
}
我建议做一些编程教程。这样操纵公共领域几乎没有什么好的理由。还有一个命名问题。什么是x
?整个窗口的水平位置?什么东西?完全是别的吗?越明显越好,这对你就越有利
实际的问题很可能是游戏在更新时是空的,这看起来很奇怪。如果你真的想这样做,我建议将Class1.Update
修改为Class1.Update(Game1游戏)
。然后您可以执行y.Update(此)
不过,这绝对是解决问题的错误方法。你可以做得更好。请注意这一点。为什么要以这种方式访问game1?你的目标是什么?想了想,我想我真的不需要这样使用它。相反,我将把所需的变量作为参数发送给另一个类。谢谢。我想没有必要这样使用game1类。谢谢你抽出时间。