无法从其他类调用XNA GraphicsDevice

时间:2011-09-16 01:20:36

标签: c# xna

大家好!我正在使用XNA / C#开发平台游戏,我遇到了GraphicsDevices的问题。我听说XNA需要很多方法的GraphicsDevices,但它只能在LoadContent()之后调用,这对我来说是有问题的,因为我将在我的项目中有很多类。我怎样才能获得GraphicsDevice?

提前致谢!

编辑:这是一个代码示例:http://pastebin.com/vrYhA6MA

2 个答案:

答案 0 :(得分:3)

在你的Game类中,添加一个GraphicsDeviceManager变量,如下所示:

GraphicsDeviceManager graphics;

现在,在你的游戏构造函数中,像这样初始化它:

graphics = new GraphicsDeviceManager(this);

在Game构造函数之后,在Initialize和LoadContent方法中,应该加载graphics.GraphicsDevice变量。您可以将其传递给方法并为其设置,例如DepthStencilState等。

答案 1 :(得分:0)

通过任何其他类的构造函数传递对Game对象的引用一直是我的首选方法。那样我就可以打电话了

this.Texture = game.Content.Load<Texture2d>("Fred");

例如。