如果我在方法中设置图形设置,Initialize然后在Update方法中设置,如下所示:
protected override void Initialize()
{
graphics.ApplyChanges();
base.Initialize();
}
protected override void Update(GameTime gameTime)
{
graphics.ApplyChanges();
base.Update(gameTime);
}
一切都很好。
但是,当我将代码移动到我的LoadContent方法时,如下所示:
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
graphics.ApplyChanges();
}
protected override void Update(GameTime gameTime)
{
graphics.ApplyChanges();
base.Update(gameTime);
}
我得到一个InvalidOperationException:
必须在调用 EndScreenDeviceChange 之前调用 BeginScreenDeviceChange
这对我来说没有多大意义,因为我在两者中都在做同样的事情。我的理解是,该LoadContent方法只是在该Initialize方法之后调用。那些搞砸了的电话之间发生了GraphicsDeviceManager什么?