讲解怎么在Unity的Inspector面板中用滑动条来控制变量的大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了讲解怎么在Unity的Inspector面板中用滑动条来控制变量的大小相关的知识,希望对你有一定的参考价值。

参考技术A Inspector中的变量的视图形式一般是固定的,int、float 就是文本框。
要实现你这个功能,要写 UnityEditor 插件(引入 UnityEditor 的 namespace),滑动条是
EditorGUILayout.Slider
// Editor script that lets you scale the selected GameObject between 1 and 100//缩放选择的游戏物体,在1-100之间class EditorGUILayoutSlider extends EditorWindow var scale : float = 0.0; @MenuItem("Examples/Editor GUILayout Slider usage") static function Init() var window = GetWindow(EditorGUILayoutSlider); window.Show(); function OnGUI() scale = EditorGUILayout.Slider(scale,1, 100); function OnInspectorUpdate() if(Selection.activeTransform) Selection.activeTransform.localScale = Vector3(scale, scale, scale); 本回答被提问者采纳

Unity Inspector 面板的某些特性

特性

  特性:就是一种声明性的标签,例如 类、结构体、枚举、字段(变量)等

  可以大致的分为以下三个方面:

一、修饰字段

  [Header(" ")]:面板标题 UnityInspactor 面板上显示一个标题

  技术图片

  [Tooltip(" ")]:悬停的注释 当鼠标悬停在 Inspector 面板上的该变量上时,显示有一个 Tip 提示,提示的内容就是参数

  技术图片

  [Space( )]:上下字段的空行 仅能修饰字段,使该字段与上一个字段间出现间隔

  技术图片

  [Range( , )]:显示滑条范围 修饰 float 类型和 int 类型,使其在 Inspector 面板上显示成一个滑动条,参数是最小值和最大值

  技术图片

  [Multiline( )]:显示文本 仅能修饰字符串,使其显示多行,默认不写参数的话显示 3

  技术图片

  [TextArea( )]:显示文本 显示一个带有滚动区域的文本框,默认显示 3 行,超过 3 行显示滚动条 

           例如:[ TextArea(2,3) ] 最少显示 2 行,最多显示 3 行,超过 3 行显示滚动条

  技术图片

  [HideInInspector]:隐藏 public 字段 仅仅是在 Inspector 面板上隐藏了,该变量还是可序列化的

  技术图片

  [SerializeField]:转成可序列化 修饰变量,使得其可转变成可序列化对象, 私有的变量一般都是不可序列化的

  技术图片

  [System.NonSerialized]:转成不可序列化 修饰字段,使其变成不可序列化对象,它是属于 System 命名空间下的

  技术图片

  [ContextMenuItem("Button","Text")]:使其鼠标右键在 Inspector 面板上点击该变量时,出现一个按钮

                     第一个参数表示按钮的名字,第二个参数表示要执行的方法,保证要有该方法且需要成员方法

  技术图片 

二、修饰方法

  [ContextMenu(" ")]:修饰成员方法,使其在该脚本右上方的齿轮里出现一个以参数为名的选项 点击该选项,执行这个特性的修饰方法

  技术图片

  [MenuItem(" ")]:修饰静态方法,使其在菜单栏多出一个选项,参数是一个层级结构,至少两层(需要引入 “UnityEditor” 命名空间)

           例如:[MenuItem("MyTools/MenuItemTest")] 将在菜单栏 MyTools 下出现 MenuItemTest 方法选项

  技术图片 

  UnityEditor:命名空间

三、修饰类

  [System.Serializable]:修饰类或结构体,使该对象变为可序列化的 该类下的可序列化字段在 Inspector 面板上显示

  [AddComponentMenu(“ ”, )]:在 AddComponent 按钮下加一个菜单选项 第一个参数是支持层级结构的, 第二参数代表第一个选项参数的顺序

  [RequireComponent(typeof(BoxColider))]:该特性的意思是,修饰的类依赖于参数里的类,当修饰的类挂到物体上时,会检查该物体上是否有依赖的组件,

                       如果有,就不会重复的添加,如果没有依赖的组件,会默认添加依赖的组件

  [ExecuteInEditMode]:修饰的类在编辑模式下执行,Awake()Start()Update() 方法都会执行

            (与运行模式不同, 该特性修饰的类,是指在场景中的某个物体发生改变时执行)

以上是关于讲解怎么在Unity的Inspector面板中用滑动条来控制变量的大小的主要内容,如果未能解决你的问题,请参考以下文章

Unity Inspector 面板的某些特性

如何自定义unity的inspector面板

Unity Inspector面板常用的属性

Unity 在Inspector面板,脚本前面的激活对勾

unity中texture怎么变为sprite

Unity的Inspector面板挂载的脚本显示中文变量名