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);
  • 相关阅读:
    JSON学习笔记
    Java面试题之对static的理解
    【知了堂学习笔记】java基础知识之继承
    【知了堂学习笔记】多态基本知识
    Final关键字
    子父类构造函数特点
    原来学编程这么简单,如何理解程序的本质(今天听了【遇见狂神说】发布的《从HelloWorld到程序本质的思考》这个视频,有了自己的一些感悟,在这里和大家做一个分享)
    浅谈c3p0连接池和dbutils工具类的使用
    Mysql数据库重要知识点
    Express安装与调试
  • 原文地址:https://www.cnblogs.com/sanyejun/p/10956469.html
Copyright © 2011-2022 走看看