我目前的XNA PC游戏是在无边界窗口模式下运行的,直到最近才在我的新笔记本电脑上运行良好。它似乎开始从屏幕上向左上方绘制几百个像素。这会在屏幕底部和右侧留下间隙,您可以在游戏下方看到桌面。所有的鼠标指针都精确到你应该鼠标移动并点击的东西,即使它没有画在正确的位置。
我的旧款笔记本电脑正确使用了,但我刚刚得到的这款新笔记本似乎不知何故。我使用David Amador的Resolution类通过以下方式设置虚拟分辨率:
graphics = new GraphicsDeviceManager(this);
Resolution.Init(ref graphics);
control = Control.FromHandle(this.Window.Handle);
Resolution.SetVirtualResolution(GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width, GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height);
Resolution.SetResolution(GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width, GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height, false);
我将全屏设置为false,然后在创建游戏屏幕后,我执行以下操作将其设置为无边框:
Form gameForm = (Form)Form.FromHandle(curGame.Window.Handle);
gameForm.FormBorderStyle = FormBorderStyle.None;
我试过" gameForm.Location = new System.Drawing.Point(0,0);"尝试并强制设置它开始绘制(0,0),但我目前的设置似乎没有做任何事情,因为我可以设置为(150,150),它不会启动在那里画画。以下是我的笔记本电脑的屏幕截图,其中显示了它如何移动窗口并切断左侧和顶部,露出桌面:
有没有人知道为什么现在在我的新笔记本电脑上发生这种情况,以前我的台式机或旧笔记本电脑还没有发生?