unity插件開發——MenuItem


有unity中的菜單欄是我們經常使用到的地方,如下圖:

MenuItem的作用就是增加一個自己的菜單

使用方法:

在工程中Assets目錄下任意一個Editor目錄(以后簡稱Editor目錄,如果不存在,請自行創建)中創建任意腳本,比如我創建了叫做MenuTest .cs,雙擊進入代碼編輯,創建一個靜態函數,(代碼來自官方文檔http://docs.unity3d.com/Documentation/ScriptReference/MenuItem.html)如下:

public class MenuTest : MonoBehaviour 
{
    // Add a menu item named "Do Something" to MyMenu in the menu bar.
    [MenuItem ("MyMenu/Do Something")]
    static void DoSomething () 
   {        
            Debug.Log ("Doing Something...");
     }
}

 

保存回到unity,編譯好之后會發現在菜單欄上多了一個MyMenu,點擊之后會出現二級選擇菜單Do Something。點擊Do Something會在輸出窗口輸出Doing Something...

是的,MenuItem的用法就是這么簡單,將[MenuItem()]標簽放在一個靜態函數上,括號內部就是菜單層級。

public class MenuTest : MonoBehaviour
{
    // Add a menu item named "Do Something" to MyMenu in the menu bar.
    [MenuItem ("MyMenu/Do Something")]
    static void DoSomething () 
    {        
        Debug.Log ("Doing Something...");
    }

    [MenuItem ("Assets/MyMenu")]
    static void DoSomething ()
    {        
        Debug.Log ("MyMenu Click");
    }
}      

要補充的是,菜單層級可以是系統自身的層級,比如Window菜單,Assets菜單等。例如

 

這樣就會在系統的Assets菜單下生成一個MyMenu菜單。

對於Assets菜單,就是project窗口的右鍵菜單。所以,利用這個可以創建文件的右鍵菜單,比如創建一個xml文件等等

ok,這就是MenuItem的基本功能,再高級的用法,比如菜單的快捷鍵,不可用狀態等,就見官網吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM