2013-03-28 96 views
0

我使用XNA制作游戏。我想将精灵对准屏幕中心。全屏设置为false时,此功能正常。但是当我将IsFullScreen设置为true时,它不起作用。XNA全屏问题

我激活了控制台并在其上打印了屏幕大小。尺寸很好(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:对不起,我的语法,我不说流利的英语:)

回答

2

可能是因为你的精灵的左上角画在画面的中间,这意味着精灵将在右侧略微拉低。 尝试超过0.5,也许0.45或更少的值。这应该有所帮助。

2

好了,如果对方的回答没有工作,更长,但更有效的方式来做到这一点就太之一:

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

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