一直在与这个问题作斗争 3 个小时,我想是时候问一些专业人士了。
我的问题是我想制作一个滚动条,我发现我想通过使用两个整数来制作它,然后给列表中的每个项目一个 ID,然后说所有具有 ID 的项目在两个整数之间将显示,然后制作 2 个按钮,将 + 或 - 整数,以便您可以“滚动”通过项目。
因此,为了实现这一点,我决定制作虚拟代码,看看我该如何解决。在大多数情况下它的工作,但是我现在有问题,似乎我的绘图功能正在不断刷新屏幕(即使我已经输入了一个 bool 以确保它会),并且这样做它会一直擦除我在屏幕上列出的数字。
继承人的代码:
List<int> test = new List<int>() {1,2,3,4,5,6,7 };
int low = 0;
int high = 3;
int count;
bool isDone = false;
public override void Draw(GameTime gameTime)
{
spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null, null);
if (!isDone)
{
int posX = 20;
foreach (int nr in test)
{
if (count == high)
{
isDone = true;
break;
}
else
{
count++;
}
if (count >= low && count <= high)
{
posX += 20;
spriteBatch.DrawString(gameFont, nr.ToString(), new Vector2(posX, 20), Color.White);
}
}
}
spriteBatch.End();
}
希望你们中的一些聪明人能注意到我一直错过的错误。
提前致谢
〜埃塔纳拉祖尔。