• ugui代码设置ui锚点


    using UnityEngine;
     
     public enum AnchorPresets
         {
         TopLeft,
         TopCenter,
         TopRight,
     
         MiddleLeft,
         MiddleCenter,
         MiddleRight,
     
         BottomLeft,
         BottonCenter,
         BottomRight,
         BottomStretch,
     
         VertStretchLeft,
         VertStretchRight,
         VertStretchCenter,
     
         HorStretchTop,
         HorStretchMiddle,
         HorStretchBottom,
     
         StretchAll
     }
     
     public enum PivotPresets
     {
         TopLeft,
         TopCenter,
         TopRight,
     
         MiddleLeft,
         MiddleCenter,
         MiddleRight,
     
         BottomLeft,
         BottomCenter,
         BottomRight,
     }
     
     public static class RectTransformExtensions
     {
         public static void SetAnchor(this RectTransform source, AnchorPresets allign, int offsetX=0, int offsetY=0)
         {
             source.anchoredPosition = new Vector3(offsetX, offsetY, 0);
     
             switch (allign)
             {
                 case(AnchorPresets.TopLeft):
                 {
                     source.anchorMin = new Vector2(0, 1);
                     source.anchorMax = new Vector2(0, 1);
                     break;
                 }
                 case (AnchorPresets.TopCenter):
                 {
                     source.anchorMin = new Vector2(0.5f, 1);
                     source.anchorMax = new Vector2(0.5f, 1);
                     break;
                 }
                 case (AnchorPresets.TopRight):
                 {
                     source.anchorMin = new Vector2(1, 1);
                     source.anchorMax = new Vector2(1, 1);
                     break;
                 }
     
                 case (AnchorPresets.MiddleLeft):
                 {
                     source.anchorMin = new Vector2(0, 0.5f);
                     source.anchorMax = new Vector2(0, 0.5f);
                     break;
                 }
                 case (AnchorPresets.MiddleCenter):
                 {
                     source.anchorMin = new Vector2(0.5f, 0.5f);
                     source.anchorMax = new Vector2(0.5f, 0.5f);
                     break;
                 }
                 case (AnchorPresets.MiddleRight):
                 {
                     source.anchorMin = new Vector2(1, 0.5f);
                     source.anchorMax = new Vector2(1, 0.5f);
                     break;
                 }
     
                 case (AnchorPresets.BottomLeft):
                 {
                     source.anchorMin = new Vector2(0, 0);
                     source.anchorMax = new Vector2(0, 0);
                     break;
                 }
                 case (AnchorPresets.BottonCenter):
                 {
                     source.anchorMin = new Vector2(0.5f, 0);
                     source.anchorMax = new Vector2(0.5f,0);
                     break;
                 }
                 case (AnchorPresets.BottomRight):
                 {
                     source.anchorMin = new Vector2(1, 0);
                     source.anchorMax = new Vector2(1, 0);
                     break;
                 }
     
                 case (AnchorPresets.HorStretchTop):
                 {
                     source.anchorMin = new Vector2(0, 1);
                     source.anchorMax = new Vector2(1, 1);
                     break;
                 }
                 case (AnchorPresets.HorStretchMiddle):
                 {
                     source.anchorMin = new Vector2(0, 0.5f);
                     source.anchorMax = new Vector2(1, 0.5f);
                     break;
                 }
                 case (AnchorPresets.HorStretchBottom):
                 {
                     source.anchorMin = new Vector2(0, 0);
                     source.anchorMax = new Vector2(1, 0);
                     break;
                 }
     
                 case (AnchorPresets.VertStretchLeft):
                 {
                     source.anchorMin = new Vector2(0, 0);
                     source.anchorMax = new Vector2(0, 1);
                     break;
                 }
                 case (AnchorPresets.VertStretchCenter):
                 {
                     source.anchorMin = new Vector2(0.5f, 0);
                     source.anchorMax = new Vector2(0.5f, 1);
                     break;
                 }
                 case (AnchorPresets.VertStretchRight):
                 {
                     source.anchorMin = new Vector2(1, 0);
                     source.anchorMax = new Vector2(1, 1);
                     break;
                 }
     
                 case (AnchorPresets.StretchAll):
                 {
                     source.anchorMin = new Vector2(0, 0);
                     source.anchorMax = new Vector2(1, 1);
                     break;
                 }
             }
         }
     
         public static void SetPivot(this RectTransform source, PivotPresets preset)
         {
     
             switch (preset)
             {
                 case (PivotPresets.TopLeft):
                 {
                     source.pivot = new Vector2(0, 1);
                     break;
                 }
                 case (PivotPresets.TopCenter):
                 {
                     source.pivot = new Vector2(0.5f, 1);
                     break;
                 }
                 case (PivotPresets.TopRight):
                 {
                     source.pivot = new Vector2(1, 1);
                     break;
                 }
     
                 case (PivotPresets.MiddleLeft):
                 {
                     source.pivot = new Vector2(0, 0.5f);
                     break;
                 }
                 case (PivotPresets.MiddleCenter):
                 {
                     source.pivot = new Vector2(0.5f, 0.5f);
                     break;
                 }
                 case (PivotPresets.MiddleRight):
                 {
                     source.pivot = new Vector2(1, 0.5f);
                     break;
                 }
     
                 case (PivotPresets.BottomLeft):
                 {
                     source.pivot = new Vector2(0, 0);
                     break;
                 }
                 case (PivotPresets.BottomCenter):
                 {
                     source.pivot = new Vector2(0.5f, 0);
                     break;
                 }
                 case (PivotPresets.BottomRight):
                 {
                     source.pivot = new Vector2(1, 0);
                     break;
                 }
             }
         }
     }
    
    
     _ImgTransform.SetAnchor(AnchorPresets.TopRight);
     _ImgTransform.SetAnchor(AnchorPresets.TopRight,-10,-10);
     
     ImgTransform.SetPivot(PivotPresets.TopRight);
  • 相关阅读:
    深度学习分类网络的发展历史
    杨辉三角
    【了解】贝塞尔曲线
    win10桌面点击事件蓝色边框处理
    try{}catch的隐藏(如何优雅的实现异常块)
    switch的一些思考(seitch与ifelse的区别)
    好看的控制台日志线
    Serializable和Externalizabl的异同
    java排序方式对比
    如何初始化Map,java
  • 原文地址:https://www.cnblogs.com/sanyejun/p/10956469.html
Copyright © 2020-2023  润新知