您的位置:首页 > 移动开发 > Unity3D

(转)Unity笔记之编辑器(BeginFadeGroup、BeginHorizontal、BeginScrollView) ... ...

2015-12-20 19:09 483 查看
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的窗口:







是不是都很简单,那些想给自己的项目做些插件的童鞋是不是都跃跃欲试了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: