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);
  • 相关阅读:
    ssh相互访问不用密码
    使用 Linux 和 Hadoop 进行分布式计算(转载)
    Hadoop 学习总结之四:MapReduce的过程解析(转载)
    第三届云计算大会 李正茂(中移动副总裁):2020年互联网数据量将是目前的44倍(转载)
    Fedora/Redhat 在线安装更新软件包,yum 篇 ── 给新手指南 (转载)
    Python MySqlDB 增删改数据库(转载)
    用python的minidom解析xml(转载)
    售前工程师的成长一个老员工的经验之谈(一)(转载)
    售前工程师的成长一个老员工的经验之谈(五)(转载)
    云开源框架OpenStack安装笔记nova篇(转载)
  • 原文地址:https://www.cnblogs.com/sanyejun/p/10956469.html
Copyright © 2011-2022 走看看