unity

[Unity 3d] Windows10系统怎么设置强制横屏呢?

2019-07-02  本文已影响22人  雨落随风

在本文,笔者将简单讲下如何为 PC 端 App强制横屏。

发现问题:

随着 Window 平板的推广,Windows下的类移动端APP开发要求也就随之而来,那坑还会远吗?
于是笔者在使用 Windows 10 系统的 Surface Pro 上开发就发现了这个问题: Unity 提供的横屏设置对 windows 不起作用啊 ,这还能忍?!(PS:语文老师说标点符号不能连用)

解决问题:

  1. 百度关键字 "Unity + Windows + 横屏设置",发现一个感觉有点靠谱的关键字:

SetDisplayAutoRotationPreferences

  1. 看样子有戏,于是 MSDN 走起,找到了如下定义:
  1. 就是说只需要使用 DllImport属性将这个方法执行一哈,传入一个 1 就能完美收官! 那么问题来了,这个方法在哪一个 DLL呢?其实文档有写啦,看我 Highlight
  1. 至此,解决方案完全浮出水面!

[DllImport("user32.dll")]
private static extern bool SetDisplayAutoRotationPreferences(int orientation);

void Awake()
{
     SetDisplayAutoRotationPreference(1);
}

void Start()
{
    Screen.SetResolution(800,600,true); 
}

Tips: 必须先 Awake 设置系统旋转,然后再到 Start 重设分辨率,能解决从竖屏强制横屏时游戏分辨率不能同步的问题。

扩展阅读

上一篇下一篇

猜你喜欢

热点阅读