加油!!!
17年9月18日
using UnityEngine;
using UnityEditor;
public class MyTest : MonoBehaviour {
/// <summary>
/// 在菜单栏下添加一个新的菜单项
/// </summary>
[MenuItem ("Orange/orange_chenTest")]
static void myTest() {
GameObject go = new GameObject("Orange");
Debug.Log("Hello World!");
}
///// <summary>
///// 在GameObject下添加一个新的菜单项TestGameObject
///// </summary>
[MenuItem("GameObject/TestGameObject")]
static void TestGameObject()
{
GameObject go = new GameObject("TestGameObject");
}
///// <summary>
///// 我们选中的时候才可以启用它,false是不选中也可以启用,可以添加优先级1为相同类型的最优先
///// </summary>
///// <returns></returns>
[MenuItem("GameObject/TestGameObject", true)]//MenuItem("GameObject/TestGameObject", false, 1)
static bool ValidateTestGameObject()
{
return Selection.activeTransform != null;
}
/// <summary>
/// 创建Test Command选中创建子集Test Command不选中正常创建Test Command
/// </summary>
/// <param name="m_nCommand"></param>
[MenuItem ("GameObject/TestOrange/TestCommand", false, 1)]
static void CreateTestCommand(MenuCommand m_nCommand)
{
m_nCommand.context = Selection.activeObject;
GameObject go = new GameObject("Test Command");
GameObjectUtility.SetParentAndAlign(go, (GameObject)m_nCommand.context);
Undo.RegisterCreatedObjectUndo(go, "Create " + go.name);//撤销 添加这句可以在编辑器里撤销不添加则不可以,和Destroy有些像
Selection.activeObject = go;
}
}

本文介绍如何使用Unity通过脚本创建菜单项,并演示了不同类型的菜单项及其验证条件。包括基本菜单项的创建、GameObject下的菜单项以及带有验证条件的菜单项等。
6088

被折叠的 条评论
为什么被折叠?



