unity中特性的运用,常用属性注释

本文介绍了Unity编辑器中几个实用的高级特性,包括如何通过AddComponentMenu和MenuItem属性添加自定义菜单项,如何利用ContextMenu创建上下文菜单选项,HideInInspector隐藏非必要的公开变量,RequireComponent确保脚本依赖特定组件,以及Serializable使自定义类变得可序列化。

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

转载地址:http://www.cnblogs.com/nsky/p/5275106.html

1. AddComponentMenu

描述:这个属性可以在Component这个菜单栏下加自己定义的子菜单,这样可以快速添加常用的脚本。该属性要用在类上。

复制代码
using UnityEngine;
using System.Collections;

[AddComponentMenu("MyComponent/Foo")]
public class MyEditor : MonoBehaviour {

    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
    
    }
}
复制代码

效果:可以看见在Component下多了一个MyComponent的子菜单,点击该子菜单下的Foo就能添加MyEditor这个组件

 

  2. MenuItem

描述:可以添加一个菜单(而不是子菜单),与Component菜单同级。使用该属性要指定子菜单(比如下面的MyName)

复制代码
using UnityEngine;
using UnityEditor;
using System.Collections;

public class MyEditor {
    [MenuItem("MyMenu/MyName")]
    static void PrintName()
    {
        Debug.Log("Kaima");
    }
}
复制代码

效果:可以看见多了一个MyMenu菜单,点击MyName可以看见输出中有Kaima这条输出

 

  3. ContextMenu

描述:可以在组件的小齿轮上添加一个功能

复制代码
using UnityEngine;
using System.Collections;

public class MyEditor {
    [ContextMenu("printName")]
    void PrintName()
    {
        Debug.Log("Kaima");
    }
}
复制代码

 

  4. HideInInspector

 描述:可以隐藏类中的成员,使之不会再面板中显示。常用于隐藏public的。

复制代码
using UnityEngine;
using System.Collections;

public class MyEditor {
    [HideInInspector]
    public int mValue;
}
复制代码

 

  5. RequireComponent

描述:可以在添加本组件前添加需要的组件

复制代码
using UnityEngine;
using System.Collections;

[RequireComponent(typeof(BoxCollider))]
public class MyEditor {
}
复制代码

 

  6. Serializable

描述:可序列化。通俗来说就是能让类成员的属性显示出来

复制代码
using UnityEngine;
using System.Collections;

[System.Serializable]
public class SubCoo{
    public int mValue;
    public string mName;
}

public class MyEditor {
    public SubCoo mCoo;
}
复制代码
效果:可以在MyEditor的组件中看到SubCoo下的mValue和mName.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值