zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    05 DDMS中logcat的使用
    04项目的目录结构分析与资源引用
    03 Android之我的第一个.hello world 程序
    关于myeclipse的有关操作
    jsp运行原理分析
    JSP简介
    prepareStatement与Statement的区别
    正则表达式
    过滤器的作用和用法
    剑指Offer--数值的整数次方
  • 原文地址:https://www.cnblogs.com/sanyejun/p/10956469.html
Copyright © 2011-2022 走看看