屏幕分辨率控制

博客围绕游戏打包前Player设置展开,介绍了Resolution and Presentation选项,如默认全屏、后台运行、分辨率窗口显示等设置,还提及Splash Image选项中是否显示官方启动画面,同时给出了设定屏幕分辨率最大值和最小值的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于打包之前Player设置中的一些问题:

Resolution and Presentation选项

Default Is Full Screen:勾选之后默认启动程序的是全屏模式,未勾选时下面的值为运行时默认的宽和高

Run In Background:是否后台运行(默认是不勾选,需要主动勾选)

Display Resolution Dialog:显示分辨率设置窗口

                                             Disabled:不显示

                                             Enabled:显示

                                             Hidden by default:默认不显示,在游戏开始时按“Alt”可以显示

Resizable Window:可调整窗口大小(默认是不勾选,需要主动勾选)

Splash Image选项

Show Unity Splash Screen:是否显示官方启动画面

using UnityEngine;

public class Work : MonoBehaviour  {

    //设定屏幕分辨率的最大值和最小

    const float resolutionMin = 2f / 3f;

    const float resolutionMax = 16f / 9f;

    void Update() {

        //当前不是在全屏模式下设置屏幕分辨率

        if (!Screen.fullScreen) {

            ScreenSize();

        }

    }

    void ScreenSize()  {

        //获取当前窗口的宽和高,并限制到当前显示器的最大值内

        float width = Screen.width;

        width = Mathf.Clamp(width, 1, Screen.currentResolution.width);

        float height = Screen.height;

        height = Mathf.Clamp(height, 1, Screen.currentResolution.height);

        //得出当前窗口的分辨率

        float resolutionNow = width / height;

        if (resolutionNow > resolutionMax)    {

            //若当前分辨率大于设定的最大屏幕分辨率,则限定宽度的最大值

            Screen.SetResolution((int)(height * resolutionMax), (int)(height), false);

        }

        else if (resolutionNow < resolutionMin)    {

            //若当前分辨率小于设定的最小屏幕分辨率,则限定高度的最大值

            Screen.SetResolution((int)(width), (int)(width / resolutionMin), false);

        }

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值