我正在使用带有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();
}
有用!但问题是一切都被冻结了,而且似乎陷入了无效循环。但是为什么后者有效而前者无效?我已经为此工作了几个小时,但我不明白出了什么问题:/。
我觉得这很简单,但我无法理解它。
我也尝试过更新和刷新,但它们也不起作用。