讲解怎么在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(" ")]:面板标题 在 Unity 的 Inspactor 面板上显示一个标题
[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面板中用滑动条来控制变量的大小的主要内容,如果未能解决你的问题,请参考以下文章