【发布时间】:2013-09-20 02:43:24
【问题描述】:
我正在使用带有 xna 的 winforms。 到目前为止一切正常,除了绘图。这是我的初始代码:
protected override void Draw()
{
GraphicsDevice.Clear(Color.CornflowerBlue);
spriteBatch.Begin();
tileSheet.Draw(spriteBatch);
foreach (Image img in selector)
img.Draw(spriteBatch);
spriteBatch.End();
}
我放置了一个断点,它正在调用 draw 方法,但屏幕上没有任何变化,但是当我这样做时:
protected override void Draw()
{
GraphicsDevice.Clear(Color.CornflowerBlue);
spriteBatch.Begin();
tileSheet.Draw(spriteBatch);
foreach (Image img in selector)
img.Draw(spriteBatch);
spriteBatch.End();
Invalidate();
}
有效!但问题是一切都被冻结了,而且似乎陷入了无效循环。但是为什么后者有效而前者无效?我已经为此工作了几个小时,但我不明白出了什么问题:/。
我觉得这很简单,但我无法理解它。
我也尝试过更新和刷新,但它们也不起作用。
【问题讨论】: