在全屏模式下使对象停在屏幕边缘

时间:2015-03-31 20:53:12

标签: c# xna

最近,我通过添加graphics.IsFullScreen = true;将我的游戏升级到全屏设置,但这似乎让我遇到了一些移动边界的错误。

这是我到目前为止,其中bounds是一个矩形,location是一个Vector2:

if (bounds.Top > GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height - 10)
{
    location.Y = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height - 10;
}

if (bounds.Bottom < GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height - GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height + 10)
{
    location.Y = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height - GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height + 10 + bounds.Height;
}

if (bounds.Left < GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width - 10)
{
    location.X = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width - 10;
}

if (bounds.Right > GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width - GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width + 10)
{
    location.X = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width - GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width + 10 + bounds.Width;
}

出于某种原因,这似乎不起作用,我的对象似乎完全从屏幕上消失了。哦,-10px / + 10px只是我想要的整个屏幕的1o像素边框!有什么想法吗?

0 个答案:

没有答案