zoukankan      html  css  js  c++  java
  • 自适应分辨率

    3.xx 以上 绑定到UIRoot 

    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;
                }
            }
        }
    }
  • 相关阅读:
    Service解析
    Android消息处理
    FragmentTransaction.addToBackStack无效的问题
    Activity生命周期
    width 的100% 与 auto
    parseInt 与 parseFloat 解析
    splice
    <c:forEach>
    笔记,遮罩。。
    nginx 的windows 基本配置
  • 原文地址:https://www.cnblogs.com/123ing/p/3816013.html
Copyright © 2011-2022 走看看