当前位置: 首页 > news >正文

护肤品网站建设方案北京健康宝优化

护肤品网站建设方案,北京健康宝优化,不需要备案如何做网站,深圳注册公司注册地址要求3.1.5 扩展默认组件的显示面板 为Unity 的 RectTransform 组件添加了一个​​一键锚点自动设置工具​​,在保留 Unity 内置编辑器所有功能的基础上,增加了实用功能。 // 引入必要的命名空间 using System; using System.Linq; using System.Reflection; …

3.1.5 扩展默认组件的显示面板

为Unity 的 RectTransform 组件添加了一个​​一键锚点自动设置工具​​,在保留 Unity 内置编辑器所有功能的基础上,增加了实用功能。

// 引入必要的命名空间
using System;
using System.Linq;
using System.Reflection;
using UnityEditor;
using UnityEngine;/// <summary>
/// 声明自定义编辑器,作用于RectTransform组件
/// 一键自动计算并设置锚点
//保持 UI 元素在父容器中的相对位置
//自动重置偏移量为零
/// </summary>
[CustomEditor(typeof(RectTransform))]
public class RectTransformEditorExample : Editor
{private RectTransform rt;         // 当前编辑的RectTransform组件private Editor instance;          // 内置RectTransform编辑器的实例private MethodInfo onSceneGUI;    // 内置编辑器的OnSceneGUI方法引用private static readonly object[] emptyArray = new object[0];  // 空参数数组用于反射调用// 初始化方法private void OnEnable(){rt = target as RectTransform;if (rt == null)return;// 反射获取Unity内置的RectTransformEditor类型var editorType = Assembly.GetAssembly(typeof(Editor))  // 获取Editor所在程序集.GetTypes()                             // 获取程序集中所有类型.FirstOrDefault(                        // 查找符合条件的第一个类型m => m.Name == "RectTransformEditor" // 根据名称匹配内置编辑器);// 创建内置编辑器实例instance = CreateEditor(targets, editorType);// 反射获取内置编辑器的私有OnSceneGUI方法onSceneGUI = editorType.GetMethod("OnSceneGUI",BindingFlags.Instance | BindingFlags.NonPublic); // }// 场景视图绘制private void OnSceneGUI(){// 调用内置编辑器的场景视图绘制方法onSceneGUI?.Invoke(instance, emptyArray); }// 清理资源private void OnDisable(){if (instance != null){DestroyImmediate(instance); // 销毁内置编辑器实例}}// 绘制Inspector面板public override void OnInspectorGUI(){// 先绘制默认的Inspector内容instance.OnInspectorGUI();// 添加自定义的锚点工具OnAnchorSetHelperGUI();}// 自定义的锚点工具GUIprivate void OnAnchorSetHelperGUI(){EditorGUILayout.Space();// 使用醒目颜色标题Color color = GUI.color;GUI.color = Color.cyan;GUILayout.Label("锚点工具", EditorStyles.boldLabel);GUI.color = color;// Auto Anchor按钮if (GUILayout.Button("Auto Anchor")){// 注册撤销操作Undo.RecordObject(rt, "Auto Anchor");// 获取父物体的RectTransformRectTransform prt = rt.parent as RectTransform;if (prt == null)return;// 核心算法:计算新的锚点位置Vector2 anchorMin = new(rt.anchorMin.x + rt.offsetMin.x / prt.rect.width,rt.anchorMin.y + rt.offsetMin.y / prt.rect.height);Vector2 anchorMax = new(rt.anchorMax.x + rt.offsetMax.x / prt.rect.width,rt.anchorMax.y + rt.offsetMax.y / prt.rect.height);// 应用新锚点并重置偏移量rt.anchorMin = anchorMin;rt.anchorMax = anchorMax;rt.offsetMin = Vector2.zero;rt.offsetMax = Vector2.zero;}}
}

效果是这样的,当我们移动UI控件时,锚点是不会跟着移动的,需要我们用预设好的锚点位置,或者手动调整,一下比较麻烦一些,如下图。
在这里插入图片描述
点击Auto Anchor ,会自动设置锚点,如下图

在这里插入图片描述

http://www.dtcms.com/a/489092.html

相关文章:

  • 个人做外贸的网站那个好做什么是静态页面网站
  • 青海市住房和城乡建设厅网站企业网站模板论坛
  • 做古玩的网站做个小程序多少钱
  • 网站上的vR场景贴图怎么做的企业开展网络营销方案
  • 做a手机视频在线观看网站电商网站是什么意思
  • 群网站建设合同如何在微信上建立公众号
  • 电子商务网站建设知识技术支持 东莞网站建设洋酒回收
  • 网站开发用的那些语言课程网站开发过程
  • 购物类网站首页效果图亚洲网站正在建设中
  • 加盟型网站制作内部网络网站怎么做
  • 大连哪家网站公司好找个免费的网站
  • 网站建设seo优化内蒙电子商务的网站建设
  • 推广优化网站排名做一个电商网站多少钱
  • 什么网站可以做片头网站利用微信拉取用户做登录页
  • 手机微网站开发长沙做门户网站的公司
  • wdcp搭建网站辽宁城乡住房建设厅网站打不开
  • 门户网站作用wordpress美观
  • 网站新闻百度收录扬中市住房和城乡建设局网站
  • 肇庆网站制作费用模板做图 网站
  • 网站名字备案流程宁夏石嘴山市城乡建设局提意见网站
  • 南阳网站建设电话医疗网络营销外包
  • wordpress采集建站wordpress膜版教程
  • 上海seo网站新华区网站建设
  • 网站建设 资质荣誉深圳专业网站设计公司价格
  • 科技网站实例50000免费短视频素材
  • 做一个购物商城网站多少钱一个网站域名多少钱
  • 网站设计说明深圳微信公众号开发
  • 江西省住房和城乡建设厅的网站企业信息填报系统
  • 个人网站怎么进后台荆门公司做网站
  • 四平网站建设服务域名解析后网站怎么建设