(轉)Unity筆記之編輯器(BeginFadeGroup、BeginHorizontal、BeginScrollView) ... ...


1. BeginFadeGroup(float value)
這是EditorGUILayout中的一個函數,用來隱藏/顯示在它包含的組中的內容。value則是顯示內容的量,范圍是0-1 。
比較下未使用/使用BeginFadeGroup的窗口:

[code]csharpcode:

using UnityEngine;
using System.Collections;
using UnityEditor; // 編輯器命名空間的引用

public class Editor2 : EditorWindow // 編輯器類
{
    [MenuItem("EditorDemo/CreateWindow")] // 在編輯器中添加一個菜單
    static void CreateWindow() // 下面這個函數必須是***靜態的***
    {
        // 在這里面創建窗口
        EditorWindow.GetWindow(typeof(Editor2), false, "EditorWindow", true);
    }

    void OnGUI()
    {
        EditorGUILayout.BeginFadeGroup(0.5f); // 組開始
        GUILayout.Button("Button0"); // 組中的內容,我這寫了3個按鈕
        GUILayout.Button("Button1");
        GUILayout.Button("Button2");
        EditorGUILayout.EndFadeGroup(); // 組結束
    }
}

我們把value設置為0.5,就是顯示50%;設置為0.75,就是顯示75%。

         

2. BeginHorizontal()

通常不同的GUI都會一個個向下排列,BeginHorizontal函數可以把組中的內容在同一行顯示。(BeginVertical()就是豎軸排列了,用法也一樣,我就不贅述了)

[code]csharpcode:

using UnityEngine;
using System.Collections;
using UnityEditor; // 編輯器命名空間的引用

public class Editor2 : EditorWindow // 編輯器類
{
    [MenuItem("EditorDemo/CreateWindow")] // 在編輯器中添加一個菜單
    static void CreateWindow() // 下面這個函數必須是***靜態的***
    {
        // 在這里面創建窗口
        EditorWindow.GetWindow(typeof(Editor2), false, "EditorWindow", true);
    }

    void OnGUI()
    {
        EditorGUILayout.BeginHorizontal(); // 組開始
        GUILayout.Button("Button0"); // 組中的內容
        GUILayout.Button("Button1");
        EditorGUILayout.EndHorizontal(); // 組結束
    }
}

比較一下未使用/使用BeginHorizontal的窗口:

    

3. BeginScrollView()

BeginScrollView函數可以為寬度或高度較大的GUI提供一個可以滑動的空間。

[code]csharpcode:

using UnityEngine;
using System.Collections;
using UnityEditor; // 編輯器命名空間的引用

public class Editor2 : EditorWindow // 編輯器類
{
    Vector2 _scrollPos;

    [MenuItem("EditorDemo/CreateWindow")] // 在編輯器中添加一個菜單
    static void CreateWindow() // 下面這個函數必須是***靜態的***
    {
        // 在這里面創建窗口
        EditorWindow.GetWindow(typeof(Editor2), false, "EditorWindow", true);
    }

    void OnGUI()
    {
        _scrollPos = EditorGUILayout.BeginScrollView(_scrollPos); // 組開始
        EditorGUILayout.LabelField("我是佑丶小賤 我是佑丶小賤 我是佑丶小賤 我是佑丶小賤"); // 組中的內容
        EditorGUILayout.LabelField("I am Xiaojian I am Xiaojian I am Xiaojian I am Xiaojian");
        EditorGUILayout.EndScrollView(); // 組結束
    }
}

比較下未使用/使用BeginScrollView的窗口:

    

是不是都很簡單,那些想給自己的項目做些插件的童鞋是不是都躍躍欲試了!


免責聲明!

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



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