我有一个基本的按钮类,它发光时,鼠标是在按钮上,并为我的主菜单工作。然而,有一个暂停函数,我的x值会一直有所不同。我有一个相机类,它可以改变视口,并根据玩家的位置进行滚动。这一切工作正常。但是,当我引入暂停选项时,Drawn“按钮”被正确放置,但用于鼠标检测的矩形与该距离相距一定距离。动态移动暂停按钮矩形正确,但绘图不正确
replay.SetPosition(new Vector2(camera.viewport.Width/4 + 50,camera.centre.Y));
//replay.SetPosition(new Vector2((int)camera.centre.X , (int)camera.centre.Y);
replay.Update(mouse);
注释掉了一个正确绘制图像,但矩形是关闭的。 的未注释版本具有正确的矩形放置但图像停留在目前200(X),250(Y)
if (isPaused)
{
spriteBatch.Draw(pauseTexture,pauseRectangle, Color.White);
//replay.Draw(spriteBatch);
exit.Draw(spriteBatch);
mainmenu.Draw(spriteBatch);
}
相机类更新元素:
public void Update(Vector2 position, int xOffset, int yOffset)
{
if (position.X < viewport.Width/4)
centre.X = viewport.Width/4;
else if (position.X > xOffset - (viewport.Width/4))
centre.X = xOffset - (viewport.Width/4);
else centre.X = position.X;
}
我将是最大约需要的时候添加信息。感谢所有的帮助!
哇...我从来没有想过使用分离式spriteBatch.Begin的() ; /结束它修复了它......在屏幕上移动按钮并按需要暂停覆盖工作。我非常感谢你。被困在调试中,以及几个小时以后的事情......坐标系不是问题......至少我不知道。绘图是问题。非常感谢你的帮助。我现在终于可以完成暂停菜单,并进入调整我的游戏功能...再次感谢 – Eddy 2013-04-10 16:12:49
没有问题,很高兴帮助你!如果你可以请帮助我的代表,如果你接受我的答案,那很棒。谢谢=) – cmhley 2013-04-10 16:24:24