【问题标题】:Unity - Can not change resolutionUnity - 无法更改分辨率
【发布时间】:2014-05-31 20:49:40
【问题描述】:

我在为 Android 制作的游戏的分辨率设置有问题。我放置的任何分辨率都始终以分辨率 399x639(用于肖像)进行渲染/p>

感谢

【问题讨论】:

  • 可能还有其他信息或代码吗?
  • 我没有使用特殊代码。但我弄清楚了问题所在,至少是其中的一部分。当您点击播放时,统一会缩放游戏窗口并且不显示真正的分辨率。问题是我的 gui 东西不能正确扩展。我只是实现一个可以正确缩放所有内容的对象,我希望它应该可以正常工作:)

标签: android unity3d resolution screen-resolution


【解决方案1】:

首先,您可以按照编辑 > 项目设置 > 播放器中的说明更改分辨率。我认为您也知道如何在开发时更改它(转到游戏视图上方的栏)。

好吧,你必须让游戏独立于屏幕分辨率。为此,您可以开始定义这两个变量:

    nativeHeightResolution = 1200.0;
    scaledWidthResolution = nativeHeightResolution / Screen.height * Screen.width

在 OnGUI() 函数中你可以这样写:

    GUI.matrix = Matrix4x4.TRS (Vector3(0, 0, 0), Quaternion.identity, Vector3 (Screen.height / nativeHeightResolution, Screen.height / nativeHeightResolution, 1)); 

然后,如果你想绘制一个标签,例如,你可以使用这个:

    function Label_Center(pos : Vector2, text : String, style : GUIStyle) {  //draw a text label from the center of screen + position, with style
       GUI.Label(Rect (pos.x + scaledWidthResolution / 2, pos.y + nativeHeightResolution / 2, 700, 100), text, style);
    }

这是我在项目中使用的。希望对你有用。

【讨论】:

    猜你喜欢
    • 2019-07-11
    • 2021-11-10
    • 1970-01-01
    • 2021-03-02
    • 2018-04-17
    • 2021-07-13
    • 2014-02-23
    • 2015-04-29
    • 1970-01-01
    相关资源
    最近更新 更多