unity中一些[XXX]的使用方法

转自http://www.cnblogs.com/caolin/p/4600062.html

C#中的[] 中括号,是一种修饰器,用于标记相关属性或者函数的一些 属性

一、[SerializeField]

[SerializeField] 在Inspector版面中显示非public属性,并且序列化;若写在public前面,等于没写……(至于序列化是啥,自行脑补……),上图:

序列化:序列化(Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。序列化使其他代码可以查看或修改那些不序列化便无法访问的对象实例数据。

二、[NonSerialized]

[NonSerialized]在Inspector版面中隐藏public属性,并且序列化;如果写在非public属性前面,等于没写……,上图:

三、[HideInInspector]

[HideInInspector] 在Inspector版面中隐藏public属性,与上面相比,只是隐藏,没有序不序列化的功能……,上图:

四、[AddComponentMenu("XXX/XX/XXX")]

[AddComponentMenu("XXX/XX/XXX")] 让Component菜单下出现你自定义的类,位置是“XXX/XX/XXX”,至于功能么,用过Component的都知道,不用解释了吧……,上图:

五、[ExecuteInEditMode]

[ExecuteInEditMode] 在编辑界面让你的功能(类)起作用,就是你不用点开始,就可你让你的功能起作用,打个比方,NGUI里面的Slider的滑动条就是酱紫……,上图:

六、[RequireComponent (typeof (ClassName))]

[RequireComponent (typeof (ClassName))] 就是在你把被这句话标记的类拖到(或者AddComponent)GameObject上时,自动再给你加上“ClassName”这个类……,上图:

七、[ContextMenu ("XXX")]

[ContextMenu ("XXX")] 在Inspector版面中,右击包含这条标记的类,在菜单中会出现名为“XXX”的选项,点击选项,会执行被标记的功能(注:此乃标记功能也,非标记类),上图:

只是个例子,名字乱写了的……一般来说“XXX”就是被执行的功能的名字,方便查找……

八、[MenuItem ("XXX/XXX")]

[MenuItem ("XXX/XXX")] 在菜单中出现选项栏,点一下,执行对应功能。注:对应的功能必须是static,同时,使用的时候需要加上using UnityEditor,这个类也要找个Editor文件夹放(一般放“Assets\Editor”),要不……就等着纠结吧~~,上图:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,168评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,806评论 18 399
  • 原文地址:http://gad.qq.com/program/translateview/7167991 英文版原...
    重装机霸阅读 3,978评论 1 84
  • c:cancelh:haltr:reboot ctri+c:终止退出 &:后台符,命令放在后台执行 不占用当前的操...
    子木同阅读 189评论 0 0
  • 莫名其妙,秋天的风。 我坐在教室里,看到被风吹到凌乱的树。啧,凉快。 教室里混杂着湿热的空气,空调吹来的冷风争不过...
    柯橙阅读 139评论 0 0