我目前正在开发 Win 8 Windows Store 游戏(Monogame,C#)。我将 graphics.PreferedBackBuffers 设置为 1366x768。我主要用于开发的笔记本电脑不支持此分辨率,外接显示器也不支持此分辨率,但是一切都很好地缩放,因此精灵在不同的显示器上被压缩或拉伸(如果游戏被拖动到运行时的另一个监视器)。我需要使用鼠标来拖动游戏对象,但我注意到鼠标光标在显示器分辨率下工作,因此执行以下操作:
if(objectSprite.BoundingBox.Contains((int)mouseCursos.x, (int)mouseCursos.Y))
{
objectSprite.isHooked = true;
}
不起作用,因为鼠标的坐标总是与游戏对象的坐标不同。如何获得当前显示器的最大分辨率,以便能够缩放坐标。
请注意 GraphicsAdapter.DefaultAdapter.CurrentDisplayMode 返回 800x600。