Unity Editor 学习(一) Attribute

本文深入探讨Unity脚本中的高级特性,如AddComponentMenu、RequireComponent、ContextMenu、HelpURL等,以及如何使用Attribute进行自定义组件的创建与优化。通过实例讲解,帮助读者掌握这些特性在游戏开发中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Attribute属于RunTimeClass 所以需要加上命名空间:

using UnityEngine;
using System.Collections;
  1. AddComponentMenu();将一个脚本添加到Component菜单中
  2. RequireComponent();自动为游戏物体添加组件
  3. ContextMenu() / ContextMenuItem();添加命令
  4. HelpURL();自定义链接
  5. InitializeOnLoad; 启动事件监听 
  6. Range() ;用于将一个值指定在一定的范围内,并在Inspector面板中为其添加滑块 
  7. Multiline();用于给 string 类型添加多行输入
  8. header();用于添加属性的标题
  9. Tooptip()用于在 Inspector 面板中,当鼠标停留在设置了Tooptip()的属性添加指定的提示
  10. Space()用于为在 Inspector 面板两属性之间添加指定的距离
[AddComponentMenu("TaskGroup/Task")] //在Component下拉菜单中添加TaskGroup选项->子选项Task

[RequireComponent(typeof(Rigidbody))] //自动添加刚体组件,若已存在则不会重复添加,但是不能移除

public class Task : MonoBehavior {

    [Header("TaskInfo")] //标题

    [Multiline(2)] //输入框行数设置
    [Tooptip("输入任务名称")] //为属性添加提示
    public string taskName;

    [Space(100)] //Inspector面板两个属性之间的距离

    [Range(0,100)] //taskId的取值范围,并且在Inspector面板添加了一个滑块
    public int taskId;

    [ContextMenu("OutputInfo")] //为组件添加新的命令 OutputInfo

    //[ContextMenuItem("select Task","OutputInfo")] //为变量添加命令

    void OutputInfo()
    {
        print("------------taskInfo---------------");
        print(taskId);
        print(taskName);
    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值