zoukankan      html  css  js  c++  java
  • UIScreenAdaptive

    using UnityEngine;
    
    namespace Com.Xyz.UI
    {
        [ExecuteInEditMode]
        [RequireComponent(typeof(UIRoot))]
        public class UIScreenAdaptive : MonoBehaviour
        {
            public int aspectRatioWidth = 1280;
            public int aspectRatioHeight = 720;
            public bool runOnlyOnce = false;
            private UIRoot mRoot;
            private bool mStarted = false;
    
            private void Awake()
            {
                UICamera.onScreenResize += OnScreenResize;
            }
    
            private void OnDestroy()
            {
                UICamera.onScreenResize -= OnScreenResize;
            }
    
            private void Start()
            {
                mRoot = NGUITools.FindInParents<UIRoot>(this.gameObject);
    
                mRoot.scalingStyle = UIRoot.Scaling.FixedSize;
    
                this.Update();
                mStarted = true;
            }
    
            private void OnScreenResize()
            {
                if (mStarted && runOnlyOnce)
                {
                    this.Update();
                }
            }
    
            private void Update()
            {
                float defaultAspectRatio = aspectRatioWidth * 1f / aspectRatioHeight;
                float currentAspectRatio = Screen.width * 1f / Screen.height;
    
                if (defaultAspectRatio > currentAspectRatio)
                {
                    int horizontalManualHeight = Mathf.FloorToInt(aspectRatioWidth / currentAspectRatio);
                    mRoot.manualHeight = horizontalManualHeight;
                }
                else
                {
                    mRoot.manualHeight = aspectRatioHeight;
                }
    
                if (runOnlyOnce && Application.isPlaying)
                {
                    this.enabled = false;
                }
            }
        }
    }
  • 相关阅读:
    Linux下动态库生成和使用
    ELK日志平台
    zabbix 监控端口
    zabbix 分布式zabbix_proxy
    zabbix 邮件报警 监控mysql主从
    Kubernetes 本地仓库
    kubernetes ui 搭建
    Kubernetes K8s
    Dockerfile
    Docker 指定容量
  • 原文地址:https://www.cnblogs.com/123ing/p/3974814.html
Copyright © 2011-2022 走看看