當我使用form.DesktopLocation(new Point(X, Y);
設置我的遊戲窗口的位置時,它可以工作,但XNA會自動將其重置爲屏幕中心。我試着用google搜索堆棧溢出,但我似乎無法弄清楚如何防止它集中。有任何想法嗎?防止XNA中的窗口居中
這裏是我的代碼操縱的GraphicsDevice,GraphicsDeviceManager和形狀控制的遊戲:
// in the initialiser
window = (Form)Form.FromHandle(Window.Handle);
GraphicsDeviceManager = new GraphicsDeviceManager(this);
// in the draw method
g.PreferredBackBufferWidth = Width;
g.PreferredBackBufferHeight = Height;
g.ApplyChanges();
f.DesktopLocation = new System.Drawing.Point(X, Y);
而這所有的一切。我試圖在每個框架上設置桌面位置不止一次,在g.ApplyChanges()
之前和之後,這並沒有改變任何東西。
但是,就在現在,我試圖刪除g.ApplyChanges()
,它不再這樣做。奇。爲什麼要在更改表單之前運行g.ApplyChanges()
,有時會重新定位表單後的表單?
你能澄清一下情況嗎?如果它起作用,它什麼時候被XNA重新定位? –
在下一次更新開始時,它看起來像。 –
我試着在每一幀重新設置位置,但是XNA仍然控制着窗口的位置,因爲在它沒有調用繪製事件的幀上,它仍然將它更新到中心本身。 –