我正在创建一个用于在游戏菜单中创建简单的课程。我能够绘制按钮的矩形并绘制纹理。但是当我尝试悬停选择功能时,矩形似乎是纹理之外的其他位置。我编程它,所以当鼠标悬停在其中一个按钮矩形上时,按钮的纹理会发生变化。 <此功能不起作用。它只在我将鼠标悬停在屏幕上的某个位置时才有效。我需要帮助。顺便说一句,我是初学者。我认为所有的矩形都是在屏幕中间绘制的,因为它们并没有真正正确地绘制。如果您想了解更具体的细节,我很乐意为您提供。 请帮忙。感谢
enter code here
public void Draw(SpriteBatch spriteBatch)
{
if (SelBaNum == 0)
for (int i = 0; i < recNum; i++)
spriteBatch.Draw(BaseButton, buttonList[i], Color.White);
else
{
for (int i = 0; i < recNum; i++)
{
if (i != RectangleNum)
spriteBatch.Draw(BaseButton, buttonList[i], Color.White);
else
spriteBatch.Draw(SelectButton, buttonList[i], Color.White);
}
}
}
这是我班级中draw方法的代码。 recNum是要绘制的矩形数。 RectangleNum是鼠标所在矩形的索引。 SalBaNum是一个字节,告诉我鼠标是否在矩形上。
enter code here
InstMenu.Draw(spriteBatch);
这行代码运行的是我在Game1类的draw方法中放置的方法。
enter code here
public void Update(MouseState mouse)
{
Rectangle mouseRec = new Rectangle(mouse.X, mouse.Y, 2, 2);
for (int i = 0; i < recNum; i++)
{
if (buttonList[i].Contains(mouseRec))
{
SelBaNum = 1;
RectangleNum = i;
}
else
{
SelBaNum = 0;
}
}
}
这是SalBaNum给出的值。上面的方法也在我的课程中,我正在编程。
它不允许我发布图片。 谢谢你的帮助。
答案 0 :(得分:0)
好的,对于其他会读这篇文章的人。 问题在于放置鼠标矩形的位置。它与我展示的代码无关。这只是为了让没有人感到困惑。
由于