XNA全屏故障

时间:2013-03-28 12:03:46

标签: xna fullscreen

我使用XNA制作游戏。我想在屏幕中央对齐精灵。当全屏设置为false时,这很有效。但是当我将IsFullScreen设置为true时,它不起作用。

我激活了控制台并在其上打印了屏幕尺寸。尺寸很好(1366 * 768)。我还打印鼠标指针的当前位置,当我在右下角时,它显示1279 * 719,这就是为什么我的精灵不是居中对齐的原因。为什么?

width = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width;
height = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height;

_positionStart = new Vector2(width * 0.5F - _startButton.Width * 0.5F, height * 0.5F - 20);

PS:我正在使用带VS2012的XNA 4.0

PS2:对不起我的语法,我不会说流利的英语:)

2 个答案:

答案 0 :(得分:2)

可能是因为精灵的左上角是在屏幕中间绘制的,这意味着精灵会在右侧略微绘制,也会略微降低。 尝试低于0.5,可能是0.45甚至更低的值。这应该有所帮助。

答案 1 :(得分:2)

好吧,如果其他答案没有成功,那么更长但更有效的方法也是如此:

  1. Rectangle()设置为对象,并将其设置为边界框,并使用.Center功能对齐其中心。
  2. heightwidth除以2,然后将图像本身的高度和宽度减去一半(如果您无法找到,那么只需使用如上所述的边界框。)
  3. 希望这会有所帮助,我知道这篇文章现在有点老了,但其他人可能偶然发现这个,并欣赏这个答案!