调整面板尺寸,包括子物体等比例缩放

来源:互联网 发布:苹果6s怎么开数据 编辑:程序博客网 时间:2024/06/03 13:18
        //调整面板尺寸: panel=面板, baseplate=缩放基板(以此基板缩放比例缩放其他控件), isAvoidIterative=避免迭代修改子物体        public static void AdjustPanel(Component panel, UIWidget baseplate, bool isAvoidIterative = true)        {            var ratioX = GetScale(Screen.width) / (float)baseplate.width;            var ratioY = GetScale(Screen.height) / (float)baseplate.height;            var ratio = Mathf.Min(ratioX, ratioY);            var scale = new Vector3(ratio, ratio, 0);            for (var i = 0; i < panel.GetComponentsInChildren<UIWidget>().Length; i++)            {                var target = panel.GetComponentsInChildren<UIWidget>()[i];                if (target.transform.localScale.Equals(scale)) continue;//防止重复修改                if (isAvoidIterative && target.parent.GetInstanceID() != panel.GetInstanceID()) continue;//防止迭代修改                target.transform.localScale = scale;                var x = target.transform.localPosition.x;                var y = target.transform.localPosition.y;                target.transform.localPosition = new Vector3(x * ratio, y * ratio, 0);            }        }

0 0
原创粉丝点击