限制Unity Windows应用程序的分辨率

时间:2019-12-04 05:24:36

标签: windows unity3d screen-resolution

我希望能对我的问题有所帮助。我想限制我的Windows应用程序窗口,以使其不会达到某个分辨率(例如,不小于400x200)。

我目前有检查当前窗口大小的逻辑,如果它超出某个比例,则将其调整为目标比例。我可以重做这种逻辑,但是问题是分辨率之间的窗口闪烁,以及它的总亮度。

我想模仿类似于Unity编辑器或google chrome的东西。尝试调整窗口大小时有一个限制,因此它不会低于某个分辨率。

有人曾经做过这样的事情并且能够指出正确的方向吗?示例代码也将受到欢迎。

谢谢!

2 个答案:

答案 0 :(得分:0)

最好的方法是从“播放器设置”中禁用“分辨率对话框”(我想已经是),并取消选中可调整大小的窗口,以便在游戏开始时使用Screen.SetResolution通过1分辨率,并且分辨率保持不变(或可以通过游戏内设置进行编辑)。

答案 1 :(得分:0)

得到答案。 Unity将他们的最小资源硬编码为128x128。因此,为了进行更改,您需要继承Unity的WndProc并重写WM_GETMINMAXINFO窗口消息:https://docs.microsoft.com/en-us/windows/win32/winmsg/about-window-procedures?redirectedfrom=MSDN#winproc_subclassing