如果您不處於全屏模式,只需調用GameWindow
對象上的Size
屬性即可調整窗口大小。你已經知道WindowState
propery。
,你需要做的主要事情是覆蓋你的GameWindow
類的OnResize
方法。當你的遊戲窗口被調整大小時,這會自動調用,包括將其設置爲全屏模式。從那裏,你可以重新初始化你的視口。
例如,在我目前正在測試的項目,下面的代碼正確調整大小,每當我調整窗口大小或移動/退出全屏模式查看端口。雖然移動到全屏模式時,我沒有利用的分辨率切換,我會想象它會工作得很清楚了這一點。在下面的例子是yoursizehere
和640x640使用GL.Ortho方法以適合GameWindow.ClientSize
被縮放。 (我在OpenTK(和OpenGL爲此事新手),所以我還是有一噸要學會自己 - 但下面的工作對我來說)
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
GL.Viewport(this.ClientRectangle);
GL.MatrixMode(MatrixMode.Projection);
GL.LoadIdentity();
GL.Ortho(0, yoursizehere.Width, yoursizehere.Height, 0, -1, 0);
}
上面的例子是這是一個2D視口我目前正在嘗試......有足夠的麻煩去理解二維空間中的OpenGL概念,更不用說三個!
希望這會有所幫助
我知道如何在創建GameWindow時設置窗口。我需要知道如何在遊戲運行時更改分辨率和全屏狀態。 – KobraX22 2011-05-03 05:20:38
@ KobraX22。哦,對不起,我誤解了你的問題。你有沒有嘗試過OpenTK論壇? – kvark 2011-05-03 10:29:14
我現在來看看。 – KobraX22 2011-05-03 10:38:13