3

我认为,当我调整游戏窗口的大小并且视口的高度变为 0 时,GC 会处理 spritebatch。这是怎么回事?我该如何防止这种情况?

4

2 回答 2

3
Form gameForm = (Form)Form.FromHandle(Window.Handle);
gameForm.MinimumSize = new System.Drawing.Size(800, 600);

又短又甜!

于 2012-10-04T17:15:14.910 回答
1

我遇到了同样的问题,一些快速调试显示 XNA 调用 UnloadContent 然后再次调用 LoadContent 来重新初始化资源;我猜它丢失了 GraphicsDevice 或其他东西,因此重新加载。

在 LoadContent 中创建与 GraphicsDevice 相关的东西可以解决这个问题。

现在,对于这种特殊情况,设置最小尺寸是个好主意,但我不知道这是否是 Xbox 和 Windows 之间的便携式解决方案。但是,可能在其他情况下也会发生类似的情况,即调用 UnloadContent,因此最好遵守这种做法。

于 2014-04-13T14:48:11.303 回答