Unity3D属性监视面板(Inspector)
2013-04-16 16:24
190 查看
一。Unity3D属性监视面板(Inspector)
Unity3D属性监视面板中的属性允许用户在代码外部改变脚本及组件的初始值。另外,属性监视面板中的值允许用户在游戏运行模式下随时更改,并且在游戏中立即生效,停止运行后各属性又能恢复到最初的状态,这是Unity3D提供的一种运行时调试方式。
哪些对象可以作为属性出现在Inspector中呢?答案是Unity3D引擎能够识别的所有对象以及Unity3D所支持的编程语言的基础数据类型对象,另外再加上以这些可识别的对象构建的自定义数据类型(实质同前两项)。注意:属性是指所有能够出现在Inpector面板中的项;组件是属性中的一种,它必须是Unity3D引擎所能识别的基本对象之一,即必须继承于UnityEngine.Object。
Unity3D还提供了一种方案方便我们自定义、美化Inspector界面。
二。编写自定义属性
在脚本中,以Unity3D引擎能够识别的类型及编程语言的基础数据类型定义的对象都可以作为一个属性出现在Inspector中,在C#script中,你同时还得将变量的访问权限改为public。
如果你想自定义一个数据类型,并且希望它能出现在inspector中,那么,在C#script中,你必须使用[System.Serializable]关键字将其序列化(在js中,类必须继承于System.Object),并且对象中的元素必须是基本数据类型或Unity3D对象或者已被我们定义的可以出现在监视面板中的自定义类型,在C#script中,你同时还得将变量的访问权限改为public。如下:
Unity3D属性监视面板中的属性允许用户在代码外部改变脚本及组件的初始值。另外,属性监视面板中的值允许用户在游戏运行模式下随时更改,并且在游戏中立即生效,停止运行后各属性又能恢复到最初的状态,这是Unity3D提供的一种运行时调试方式。
哪些对象可以作为属性出现在Inspector中呢?答案是Unity3D引擎能够识别的所有对象以及Unity3D所支持的编程语言的基础数据类型对象,另外再加上以这些可识别的对象构建的自定义数据类型(实质同前两项)。注意:属性是指所有能够出现在Inpector面板中的项;组件是属性中的一种,它必须是Unity3D引擎所能识别的基本对象之一,即必须继承于UnityEngine.Object。
Unity3D还提供了一种方案方便我们自定义、美化Inspector界面。
二。编写自定义属性
在脚本中,以Unity3D引擎能够识别的类型及编程语言的基础数据类型定义的对象都可以作为一个属性出现在Inspector中,在C#script中,你同时还得将变量的访问权限改为public。
如果你想自定义一个数据类型,并且希望它能出现在inspector中,那么,在C#script中,你必须使用[System.Serializable]关键字将其序列化(在js中,类必须继承于System.Object),并且对象中的元素必须是基本数据类型或Unity3D对象或者已被我们定义的可以出现在监视面板中的自定义类型,在C#script中,你同时还得将变量的访问权限改为public。如下:
//jsExample classTestextendsSystem.Object{ varp=5; varc= Color.white; } vartest=Test(); //C#Example [System.Serializable] classTest { publicintp=5; public Colorc= Color.white; }
当然,你也可以使用[System.NonSerialized](js中使用@System.NonSerialized)来将原本出现在Inspector的属性隐藏起来。如下:
[code][code]//pwillnotbeshownintheinspectororserialized @System.NonSerialized varp=5;
//C#Example classTest
{ //pwillnotbeshownintheinspectororserialized [System.NonSerialized] publicintp=5; }
三。编写自定义Inspector(这里不只是自定义属性)
编写自定义Inspector是基于自定义脚本的,首先,我们得自定义一个脚本或类文件,其次我们还得定义一个编辑这个类(脚本本身就是一个类)的Inspector的类,该类必须继承于Editor或EditorWindow,并存放在Editor目录下。
待续。。。
相关文章推荐
- Unity3D属性监视面板(Inspector)
- Unity3D中在Inspector面板中显示复合属性信息(类属性/Struct属性)
- 利用unity3d属性来设置Inspector面板的特殊行为
- 【Unity3D自学记录】利用代码改动图片属性(Inspector)
- Unity 属性面板Inspector定制
- unity3d基础学习笔记1:监视面板与基本组件
- unity3d 如何让复合结构的数组在Inspector中显示其对象中的public属性
- Inspector属性面板中[HideInInspector]、ExecuteInEditMode等属性介绍
- Unity3D 学习教程 5 属性面板
- 「Unity3D」(10)自定义属性面板Inspector详解
- unity3D 在inspector面板上添加各种控件,国外很好的文章
- Unity3D ParticleSystem粒子系统面板参数的属性整理
- Unity3D动画面板编辑器状态属性对照表
- Unity3D 使用 Editor 脚本,自定义 脚本的属性面板
- Unity3D研究院之Inspector面板枚举的别名与排序
- Unity根据条件控制Inspector面板中的属性显示
- Inspector属性面板上的各个能用到的属性介绍
- Unity Inspector面板常用的属性
- Unity3D开发小贴士(十三)Inspector中使用属性
- 【Unity3D自学记录】利用代码修改图片属性(Inspector)