【发布时间】:2014-06-17 17:27:18
【问题描述】:
我正在使用 XNA (C#) 开发一款 2D 格斗游戏。在我添加故事模式之前,我的游戏一切都很顺利。有60多帧。我有一个变量,每次按下空格键时其值都会发生变化。
我想在不再需要屏幕时试验游戏状态转换和dispose()(或.Unload())内容。我搜索了Dispose() 和Unload () 以节省占用我的纹理的内存,但是在调用Dispose() 之后我无法为变量Texture2D 赋值。 (texture.IsDisposed = true)。
我在管理器类中创建了一个 ContentManager xContent。
Texture2D texture;
int image = 0;
____________________
if (Keyboard.GetState().IsKeyDown(Keys.Space))
{
if (image == 0)
{
texture = Manager.xContent.Load<Texture2D>("texture1");
}
else if (image == 1)
{
texture.Dispose();
texture = Manager.xContent.Load<Texture2D>("texture2");
}
}
画图:
spriteBatch.Begin();
...
spriteBatch.End();
我在上述粘贴的spriteBatch.End() 上收到错误消息,因为我重新加载了纹理。我该怎么办?
【问题讨论】: