【问题标题】:XNA Fullscreen troublesXNA 全屏问题
【发布时间】:2025-12-10 21:20:07
【问题描述】:

我使用 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:我正在使用 XNA 4.0 和 VS2012

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

【问题讨论】:

    标签: xna fullscreen


    【解决方案1】:

    可能是因为你的精灵的左上角被绘制在屏幕中间,这意味着精灵将被稍微绘制在右侧并且稍微低一些。 尝试比 0.5、0.45 甚至更低的值情人。这应该会有所帮助。

    【讨论】:

      【解决方案2】:

      好吧,如果另一个答案不起作用,那么一个更长但更有效的方法也可以:

      1. 为对象设置Rectangle(),并使其充当边界框,并使用.Center 功能对齐其中心。
      2. heightwidth 除以2,就像你做的那样,然后减去图像本身的高度和宽度的一半(如果找不到,那么只需使用上面的边界框)。

      希望这会有所帮助,我知道这篇文章现在有点老了,但其他人可能会偶然发现这个,并感谢这个答案!

      【讨论】: