博客
关于我
Unity Editor 基础篇(一):Build-In Attribute
阅读量:627 次
发布时间:2019-03-12

本文共 1827 字,大约阅读时间需要 6 分钟。

Unity 内置属性笔记

本文为个人学习笔记,基于 AddComponentMenu 属性进行整理和总结。如需查看原文,请访问指定链接。

1. AddComponentMenu 属性

通过使用 융용ENCH 的内置属性 AddComponentMenu,可以将脚本添加到组件菜单中,方便通过Inspector创建组件。

using UnityEngine;using System.Collections;public class People : MonoBehaviour{	[AddComponentMenu("Learning/People")]    public string name;}

该属性适用于右键点击物体后选择添加组件的场景。

2. RequireComponent 属性

RequireComponent 属性用于强制在物体上添加指定组件,若已存在则不重复。注意,在代码修改后需重新添加该属性。

[RequireComponent(typeof(Rigidbody))]public class People : MonoBehaviour{	// 扩展部分...}

注意事项: 在物体已挂载脚本时,建议避免直接修改脚本属性,否则可能导致该属性失效。

3. ContextMenu 和 ContextMenuItem 属性

用于添加右键菜单选项,前者为菜单项设置回调函数,后者为变量设置额外方法。

public class People : MonoBehaviour{	[ContextMenuItem("OutputInfo")]    public void OutputInfo()    {        Debug.Log(name + "|" + age);    }}

另外,ContextMenuItem 也可用于格式化字符串编辑器输出。

4. HelpURL 属性

定义自定义帮助链接,可供在Inspector中点击查阅详细文档。

[HelpURL("http://www.baidu.com")]public class People : MonoBehaviour{	// 扩展部分...}

注意事项: 助手链接需以 http://https:// 开头。

5. 初始化属性

[InitializeOnLoad] 指示脚本在编辑器启动时执行,适用于需在游戏性运行之外初始化逻辑的场合。

模板示例如下:

public class StartUpScript : MonoBehaviour{	[InitializeOnLoad]	private void Awake() {}}

6. 范围控制和多行为组件属性

高级属性如 RangeMultilineHeader 可以提升开发体验。

示例:

[Header("BaseInfo")][Multiline(5)]public string desc = "通过设置这些属性,便可高度定制游戏交互体验;";[Range(-10, 10)]public int level = 0;[Space(50)][Tooltip("性别选择")]public string gender = "未设置";

说明: Header 为属性添加标题支持、Multiline 实现多行输入,Space 控制属性间距。

7. 位工具属性

TooltipSpace 是现代UI开发中常用的细节优化工具。

[Space(50)][Tooltip("性别设置")]public string gender = "未设置";

可用场景: 在Forbidden设想中,专门处理性别和其他用途属性时非常实用。

8. 可序列化属性

控制变量的可序列化和可视化特性。以下是重点学习内容:

[System.Serializable]public class Student{    public string name;    public int age;}public class Teacher : MonoBehaviour{    public Student student;}

注意事项: 需要系统性学习可序列化类型和属性组合使用方法。

通过对这些属性的深入理解,可以显著提升脚本管理效率和可维护性。

希望这份笔记对您的学习有所帮助!如需进一步讨论,请联系作者。

转载地址:http://gqzxz.baihongyu.com/

你可能感兴趣的文章
NSJSON的用法(oc系统自带的解析方法)
查看>>
nslookup 的基本知识与命令详解
查看>>
NSNumber与NSInteger的区别 -bei
查看>>
NSOperation基本操作
查看>>
NSRange 范围
查看>>
NSSet集合 无序的 不能重复的
查看>>
NSURLSession下载和断点续传
查看>>
NSUserdefault读书笔记
查看>>
NS图绘制工具推荐
查看>>
NT AUTHORITY\NETWORK SERVICE 权限问题
查看>>
NT symbols are incorrect, please fix symbols
查看>>
ntelliJ IDEA 报错:找不到包或者找不到符号
查看>>
NTFS文件权限管理实战
查看>>
ntko web firefox跨浏览器插件_深度比较:2019年6个最好的跨浏览器测试工具
查看>>
ntko文件存取错误_苹果推送 macOS 10.15.4:iCloud 云盘文件夹共享终于来了
查看>>
ntp server 用法小结
查看>>
ntpdate 通过外网同步时间
查看>>
ntpdate同步配置文件调整详解
查看>>
NTPD使用/etc/ntp.conf配置时钟同步详解
查看>>
NTP及Chrony时间同步服务设置
查看>>