Unity全屏切换

关键代码:

// 全屏
Screen.SetResolution(1920, 1080, true);

// 正常
Screen.SetResolution(1366, 768, false);

封装:
FullScreenSetup.cs

using UnityEngine;

/// <summary> 全屏设置
/// <para>ZhangYu 2018-06-21</para>
/// </summary>
public class FullScreenSetup : MonoBehaviour {

    /// <summary> 正常分辨率 </summary>
    public Vector2 normal;
    /// <summary> 全屏分辨率 </summary>
    public Vector2 full;
    /// <summary> 是否已进入全屏 </summary>
    public static bool isFullScreen;

    #if UNITY_EDITOR
    private void Reset() {
        normal = new Vector2(Screen.width, Screen.height);
        full = new Vector2(Screen.currentResolution.width, Screen.currentResolution.height);
    }
    #endif

    private void Start() {
        if ((int)normal.x <= 0 || (int)normal.y <= 0) normal = new Vector2(Screen.width, Screen.height);
        if ((int)full.x <= 0 || (int)full.y <= 0) new Vector2(Screen.currentResolution.width, Screen.currentResolution.height);
    }

    /// <summary> 设置是否全屏 </summary>
    public bool fullScreen {
        get { return isFullScreen; }
        set {
            if (value) {
                Screen.SetResolution((int)full.x, (int)full.y, true);
            } else {
                Screen.SetResolution((int)normal.x, (int)normal.y, false);
            }
            isFullScreen = value;
        }
    }

    /// <summary> 全屏状态切换 </summary>
    public void fullScreenSwitch() {
        fullScreen = !fullScreen;
    }

}

附送脚本皮肤:
脚本皮肤效果

FullScreenSetupEditor.cs

using UnityEditor;
using UnityEngine;

/// <summary>
/// 全屏设置 编辑器
/// <para>ZhangYu 2018-06-15</para>
/// </summary>
[CanEditMultipleObjects]
[CustomEditor(typeof(FullScreenSetup))]
public class FullScreenSetupEditor : Editor {

    public override void OnInspectorGUI() {
        // 重绘GUI
        EditorGUI.BeginChangeCheck();
        drawProperty("normal", "正常分辨率");
        drawProperty("full", "全屏分辨率");
        if (EditorGUI.EndChangeCheck()) serializedObject.ApplyModifiedProperties();
    }

    private void drawProperty(string property, string label) {
        EditorGUILayout.PropertyField(serializedObject.FindProperty(property), new GUIContent(label), true);
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值