国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Unity小知識】Editor編寫常用方法匯總

這篇具有很好參考價值的文章主要介紹了【Unity小知識】Editor編寫常用方法匯總。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

? ? ? ? 匯總一些Unity Editor開發(fā)的常用方法和實(shí)現(xiàn)方式,會持續(xù)更新。

添加自定義菜單欄方法

using UnityEngine;
using UnityEditor;

public class EditorTools : EditorWindow
{
    [MenuItem("EditorTools/自定義的編輯器方法")]
    public static void CustomEditroFunction()
    {
        Debug.Log("Here is your code...");
    }
}

【Unity小知識】Editor編寫常用方法匯總

如圖一,添加自定義的菜單欄需要使用UnityEditor的命名空間,我們自定義的EditorTools類需要繼承EditorWindow類。然后就是定義菜單欄點(diǎn)擊后所執(zhí)行的具體函數(shù)CustomEditroFunction,這里需要注意的是函數(shù)需要是靜態(tài)函數(shù),需要增加static關(guān)鍵字。MenuItem方法則是定義菜單欄的路徑,菜單欄路徑可以采用中文。圖二則是自定義菜單欄的效果。

EditorWindow類文檔連接:https://docs.unity3d.com/cn/2022.2/ScriptReference/EditorWindow.html

添加Project自定義菜單欄方法

using UnityEngine;
using UnityEditor;

public class ProjectEditorTools : EditorWindow
{
    [MenuItem("Assets/自定義的編輯器方法", priority = 0)]
    public static void CustomEditroFunction()
    {
        Debug.Log("Here is your code...");
    }
}

【Unity小知識】Editor編寫常用方法匯總【Unity小知識】Editor編寫常用方法匯總

在Project窗口添加自定義菜單欄需要MenuItem方法以Assets為起始,自定義的菜單欄也會在頂部菜單欄Assets頁簽下顯示。

添加Hierarchy自定義菜單欄方法

using UnityEngine;
using UnityEditor;

public class HierarchyEditorTools : EditorWindow
{
    [MenuItem("GameObject/自定義的編輯器方法", priority = 0)]
    public static void CustomEditorFunction()
    {
        Debug.Log("Here is your code...");
    }
}

【Unity小知識】Editor編寫常用方法匯總【Unity小知識】Editor編寫常用方法匯總

?在Hierarchy窗口右鍵菜單添加自定義菜單欄需要MenuItem方法的路徑以GameObject起始,如上面示例代碼。添加方法后除了Hierarchy會顯示自定義的菜單欄,在頂部GameObject下也會顯示自定義的菜單欄。

?MenuItem文檔連接:https://docs.unity3d.com/cn/2022.2/ScriptReference/MenuItem.html

添加Inspector中腳本自定義方法

using UnityEngine;
using UnityEngine.UI;
using UnityEditor;

[CustomEditor(typeof(Text), true)]
public class TextEditor : Editor
{
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();
        CustomTextFunction();
    }

    private void CustomTextFunction()
    {
        if (GUILayout.Button("清空內(nèi)容"))
        {
            Text text = (Text)target;
            text.text = string.Empty;
        }
    }
}

【Unity小知識】Editor編寫常用方法匯總

這里我們?yōu)閁nity原有的Text腳本增加功能按鈕,添加自定義功能。

如圖一,首先還是需要使用UnityEditor命名空間,自定義類TextEditor繼承自Editor。通過覆寫OnInspectorGUI方法實(shí)現(xiàn)Inspector中腳本的繪制,DrawDefaultInspector為繪制默認(rèn)視圖。接下來CustomTextFunction則是我們自定義的部分,通過GUILayout.Button("清空內(nèi)容")方法繪制自定義按鈕,if語句中則是點(diǎn)擊按鈕后的自定義功能,這里示例的則是清除了Text內(nèi)容。實(shí)際效果如圖二。

在示例代碼中需要注意的是,[CustomEditor(typeof(Text), true)]指定了Inspector自定義腳本的類型,會為指定的自定義腳本添加功能?;怑ditor包含成員target,通過target可以獲取指定的腳本對象。

Editor類文檔連接:?https://docs.unity3d.com/cn/2022.2/ScriptReference/Editor.html

添加自定義窗口方法

using UnityEngine;
using UnityEditor;

public class CustomEditorWindow :EditorWindow
{
    [MenuItem("EditorTools/CustomEditorWindow")]
    public static void ShowCustomEditorWindow()
    {
        EditorWindow.GetWindowWithRect<CustomEditorWindow>(new Rect(0, 0, 300, 150), false, "CustomEditorWindow");
    }

    private void OnGUI()
    {
    }
}

【Unity小知識】Editor編寫常用方法匯總

如圖一,這里我們創(chuàng)建了一個最簡單的自定義窗口,自定義窗口類需要繼承EditorWindow類,通過 EditorWindow.GetWindowWithRect 或者 EditorWindow.GetWindow 方法創(chuàng)建窗口。

EditorWindow.GetWindowWithRect 為創(chuàng)建固定尺寸的窗口。

EditorWindow.GetWindow 為創(chuàng)建動態(tài)尺寸的窗口,可以通過拖動右下角拉伸窗口尺寸。

OnGUI 方法用于繪制窗口內(nèi)的各種組件,下一節(jié)將單獨(dú)講解。

EditorWindow類文檔連接:https://docs.unity3d.com/cn/2022.2/ScriptReference/EditorWindow.html

GUILayout的常用方法

using UnityEngine;
using UnityEditor;

public class CustomEditorWindow : EditorWindow
{
    private string textField = "";
    private string textArea = "";

    [MenuItem("EditorTools/CustomEditorWindow")]
    public static void ShowCustomEditorWindow()
    {
        EditorWindow.GetWindowWithRect<CustomEditorWindow>(new Rect(0, 0, 300, 150), false, "CustomEditorWindow");
    }

    private void OnGUI()
    {
        GUILayout.Label("Hello World");
        textField = GUILayout.TextField(textField);
        textArea = GUILayout.TextArea(textArea);
        if (GUILayout.Button("點(diǎn)擊按鈕"))
        {
            Debug.LogError("按鈕點(diǎn)擊響應(yīng)成功");
        }

    }
}

【Unity小知識】Editor編寫常用方法匯總

?這里我們來介紹一下GUILayout常用的方法。

GUILayout.Label:用于創(chuàng)建文本內(nèi)容,支持多行顯示,使用\n或者@“”等方式可以多行顯示。

GUILayout.TextField:創(chuàng)建一個可編輯的單行文本框,到達(dá)最大長度后輸入內(nèi)容會超框。如圖一需要創(chuàng)建一個成員變量存儲輸入內(nèi)容。

GUILayout.TextArea:創(chuàng)建一個可編輯的多行文本框,到達(dá)最大長度后文本框會換行。同樣輸入內(nèi)容需要成員變量存儲。

GUILayout.Button:創(chuàng)建一個單擊按鈕,需要用if語句判斷點(diǎn)擊。按鈕支持圖片形式,可傳入一個Texture類對象創(chuàng)建圖片按鈕。

using UnityEngine;
using UnityEditor;

public class HorizontalGUI : EditorWindow
{
    [MenuItem("EditorTools/HorizontalGUI")]
    public static void HorizontalGUIEnum()
    {
        EditorWindow.GetWindowWithRect<HorizontalGUI>(new Rect(0, 0, 500, 50), false, "HorizontalGUI");
    }

    private void OnGUI()
    {
        GUILayout.BeginHorizontal();

        if (GUILayout.Button("按鈕1"))
        {
        }

        if (GUILayout.Button("按鈕2"))
        {
        }

        GUILayout.Label("文本顯示:一二三四五");

        GUILayout.EndHorizontal();
    }
}

【Unity小知識】Editor編寫常用方法匯總

GUILayout.BeginHorizontal:開始一個水平控件組,可將多個控件放在同一行。

GUILayout.EndHorizontal:結(jié)束一個水平控件組,BeginHorizontal的配套結(jié)束方法。

未完待續(xù)。

關(guān)于GUILayout更多細(xì)節(jié)可以查閱官方文檔。

GUILayout類文檔連接:https://docs.unity3d.com/cn/2022.2/ScriptReference/GUILayout.html

EditorUtility的常用方法

EditorUtility.OpenFilePanel:顯示“打開文件”對話框并返回所選的路徑名稱。

EditorUtility.OpenFolderPanel:顯示“打開文件夾”對話框并返回所選的路徑名稱。

EditorUtility.RevealInFinder:打開指定目錄文件夾

EditorUtility類文檔連接:https://docs.unity3d.com/cn/2022.2/ScriptReference/EditorUtility.html文章來源地址http://www.zghlxwxcb.cn/news/detail-450715.html

到了這里,關(guān)于【Unity小知識】Editor編寫常用方法匯總的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Unity引擎技術(shù)整合】 Unity學(xué)習(xí)路線 | 知識匯總 | 持續(xù)更新 | 保持樂趣 | 共同成長

    【Unity引擎技術(shù)整合】 Unity學(xué)習(xí)路線 | 知識匯總 | 持續(xù)更新 | 保持樂趣 | 共同成長

    前言 本文對 Unity引擎 的知識進(jìn)行了一個整理總結(jié),基本包含了Unity中大部分的知識介紹。 網(wǎng)上也有很多Unity相關(guān)的學(xué)習(xí)資料,但大多數(shù)都不成體系,學(xué)起來的時候難免會東奔西走的摸不著頭腦。 本文整理的多數(shù)文章都是有對應(yīng)的 系列性文章專欄 ,可以更方便的進(jìn)行系統(tǒng)學(xué)習(xí)

    2024年02月03日
    瀏覽(22)
  • Selenium常用元素定位方法匯總

    Selenium常用元素定位方法匯總

    目錄 一、webdriver定位方法 1、xpath基本定位用法 2、xpath相對路徑/絕對路徑定位 3、xpath文本、模糊、邏輯定位 1、 id 定位 2、 name定位 3、 class定位 4、 link定位 --精準(zhǔn)定位 5、 partial_link定位 --模糊定位 6、 tag_name定位 --標(biāo)簽名定位 找到頁面上所有標(biāo)簽名為input的標(biāo)簽,返回一個列

    2024年02月02日
    瀏覽(22)
  • Vue常用方法匯總【更新中】

    Vue常用方法匯總【更新中】

    https://blog.csdn.net/weixin_43721000/article/details/125017785 https://blog.csdn.net/weixin_43721000/article/details/125527254 https://blog.csdn.net/weixin_43721000/article/details/123684151 https://blog.csdn.net/weixin_43721000/article/details/128629382 https://blog.csdn.net/weixin_43721000/article/details/127926450 https://blog.csdn.net/weixin_43721000/ar

    2023年04月21日
    瀏覽(17)
  • HuTool工具類常用方法匯總

    文檔地址 引入需要依賴 1、DateUtil: 日期時間工具類 1.1、Date、long、calendar之間的相互轉(zhuǎn)換 1.2、字符串轉(zhuǎn)日期 1.3、格式化日期輸出 1.4、獲取Date對象的某個部分 1.5、開始時間和結(jié)束時間(可以按日、按周、按月) 1.6、日期時間偏移 針對當(dāng)前時間、提供了簡化的偏移方法(例如,

    2024年02月01日
    瀏覽(35)
  • JavaScript中數(shù)組常用方法匯總!

    數(shù)組是一個復(fù)雜數(shù)據(jù)類型,我們在操作它的時候就不能再想基本數(shù)據(jù)類型一樣操作了。 比如我們想改變一個數(shù)組 這樣肯定是不合理,因?yàn)檫@樣不是在改變之前的數(shù)組。相當(dāng)于重新制作了一個數(shù)組給到 arr 這個變量了,相當(dāng)于把 arr 里面存儲的地址給換了,也就是把存儲空間換

    2024年02月17日
    瀏覽(19)
  • ADB安裝方法及常用命令匯總

    ADB即 Android Debug Bridge ,起到調(diào)試橋的作用,使用ADB可以用電腦快速對手機(jī)進(jìn)行調(diào)試,如安裝APK、push文件等。 電腦中必須安裝有Java環(huán)境,才能使用ADB。獲取ADB安裝包的方式有兩種: 方式一 ADB包含在 Android SDK 平臺工具軟件包中??梢灾苯邮褂?SDK 管理器下載ADB的軟件包,該管

    2024年02月15日
    瀏覽(21)
  • 常用字符串處理方法匯總--Pandas

    常用字符串處理方法匯總--Pandas

    字符串處理只能在Series上進(jìn)行,不可以在DataFrame上操作,只能對字符串進(jìn)行處理,不能對整數(shù)、日期進(jìn)行處理 1.1.1 函數(shù)功能 統(tǒng)計(jì)Series中每個元素中包含pat的次數(shù) 1.1.2 函數(shù)語法 1.1.3 函數(shù)參數(shù) 參數(shù) 含義 pat 表達(dá)式 1.2.1 函數(shù)功能 統(tǒng)計(jì)Series中每個元素的長度 1.2.2 函數(shù)語法 2.1.1 函

    2024年02月12日
    瀏覽(25)
  • Java-String類常用方法匯總

    2023年04月08日
    瀏覽(22)
  • 文心一言 快速上手方法及常用指令匯總

    文心一言 快速上手方法及常用指令匯總

    文心一言四個字的來源是《文心雕龍》,這本書是中國南朝梁代文學(xué)家劉飆所著的一本文學(xué)理論著作,而其中的“文心”二字恰好與“一言”共用一個“言”字,這便構(gòu)成了“文心一言””這一名字。 文心一言是百度研發(fā)的知識增強(qiáng)大語言模型,能夠與人對話互動,回答問題

    2024年02月03日
    瀏覽(19)
  • 數(shù)據(jù)挖掘七種常用的方法匯總

    數(shù)據(jù)挖掘(Data Mining)就是從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的實(shí)際應(yīng)用數(shù)據(jù)中,提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識的過程。這個定義包括幾層含義:數(shù)據(jù)源必須是真實(shí)的、大量的、含噪聲的;發(fā)現(xiàn)的是用戶感興趣的知識;發(fā)現(xiàn)的

    2024年02月14日
    瀏覽(8)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包