游戲制作到一定階段后,一定會出現一些GameObject的“模板”。比如一個敵人一定會有一個“Enemy Behaviour”、“Box Collider”等。雖然Prefab可以用來作為“預制件”,但是Prefab產生的物體和Prefab自身有關聯,同時還要從Project菜單里去找到Prefab再拖出來。
一個解決方案是擴展編輯器菜單,就像右鍵Hierachry時出現的3D Object、2D Object一樣??梢詣撛霨ameObject的菜單有兩個,一個是頂部菜單的GameObject,另一個是Hierachry的右鍵菜單。
在Unity Editor Extensions – Menu Items 的文章中提到了如何擴展頂部菜單.
using UnityEngine;
using UnityEditor;
public class MenuItems
{
[MenuItem("Tools/Clear PlayerPrefs")]
private static void NewMenuOption()
{
PlayerPrefs.DeleteAll();
}
}
但是沒有提到Hierachry右鍵菜單的擴展。
在此文章提到,Hierachry右鍵菜單其實來自于頂部GameObject的菜單,只是截取了其中的“一段”。如果要擴展,只需要把添加到GameObject菜單的菜單項的優先級設置到這“一段”之間即可。這樣就可以同時出現在GameObject菜單和Hierachry右鍵菜單中了。
public static class Test {
[MenuItem("GameObject/MyMenu/Do Something", priority = 0)]
static void Init() {
Debug.Log("here");
}
}
下圖顯示了兩個菜單中各項的優先度??梢钥吹街灰獌炏榷仍?到49之間,就可以同時出現在兩個菜單中。


以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。