1. Foldout、HelpBox
折叠菜单,大家都知道,不具体解释了,直接代码。因为折叠菜单中必然是有内容才能看到效果,所以顺带把HelpBox(提示框)也说了。

[code]csharpcode:

using UnityEngine;
using System.Collections;
using UnityEditor; // 编辑器命名空间的引用 public class Editor2 : EditorWindow // 编辑器类
{
private bool foldout; // 声明折叠菜单的状态 [MenuItem("EditorDemo/CreateWindow")] // 在编辑器中添加一个菜单
static void CreateWindow() // 下面这个函数必须是***静态的***
{
// 在这里面创建窗口
EditorWindow.GetWindow(typeof(Editor2), false, "EditorWindow", true);
} void OnGUI()
{
foldout = EditorGUILayout.Foldout(foldout, "Foldout"); // 定义折叠菜单
if (foldout)
{
EditorGUILayout.HelpBox("HelpBox", MessageType.Error); // 显示一个提示框
}
}
}

 
折叠菜单的使用十分简单,一个状态值,一个标题名;要注意的是HelpBox中的MessageType,它有四种类型Error、Info、None、Warning。不同的消息类型,有不同的显示效果。
 
    
       
 
2. InspectorTitlebar

[code]csharpcode:

using UnityEngine;
using System.Collections;
using UnityEditor; // 编辑器命名空间的引用 public class Editor2 : EditorWindow // 编辑器类
{
private bool fold = false; // 声明折叠
private GameObject selection; // 声明被选物体 [MenuItem("EditorDemo/CreateWindow")] // 在编辑器中添加一个菜单
static void CreateWindow() // 下面这个函数必须是***静态的***
{
// 在这里面创建窗口
EditorWindow.GetWindow(typeof(Editor2), false, "EditorWindow", true);
} void OnGUI()
{
if (Selection.activeGameObject)
{
selection = Selection.gameObjects[0];
fold = EditorGUILayout.InspectorTitlebar(fold, selection); // 定义一个检视面板栏***Selection.objects表示当前被选中的物体***
if (fold) // 控制折叠
{
selection.transform.position = EditorGUILayout.Vector3Field("Position", selection.transform.position); // 定义一个Vector3输入区域
}
}
} void OnInspectorUpdate()
{
this.Repaint(); // 刷新Inspector
}
}

 
3. Slider、MinMaxSlider
因为这两个比较相似,我就放在一块讲了,能有个对比。

[code]csharpcode:

using UnityEngine;
using System.Collections;
using UnityEditor; // 编辑器命名空间的引用 public class Editor2 : EditorWindow // 编辑器类
{
private float value0 = 0f;
private float value1 = 0f;
private float value2 = 0f; [MenuItem("EditorDemo/CreateWindow")] // 在编辑器中添加一个菜单
static void CreateWindow() // 下面这个函数必须是***静态的***
{
// 在这里面创建窗口
EditorWindow.GetWindow(typeof(Editor2), false, "EditorWindow", true);
} void OnGUI()
{
value0 = EditorGUILayout.Slider("Slider", value0, -50f, 50f); // 定义单滑块
EditorGUILayout.MinMaxSlider(new GUIContent("MinMaxSlider"), ref value1, ref value2, -50f, 50f); // 定义双滑块
EditorGUILayout.BeginHorizontal(); // 将下面两个值显示在同一行
EditorGUILayout.FloatField(value1);
EditorGUILayout.FloatField(value2);
EditorGUILayout.EndHorizontal();
} void OnInspectorUpdate()
{
this.Repaint(); // 刷新Inspector
}
}

Slider中的参数包括:1. 标题;2. 值;3. 最小值;4. 最大值
MinMaxSlider的参数包括:1. 标题(注意不是string而是GUIContent);2. 前一个滑块的值;3. 后一个滑块的值;4. 最小值;5. 最大值

最新文章

  1. linux线程
  2. 剑指Offer 从上往下打印二叉树(dfs)
  3. Cocos2d-x中创建SQLite数据库
  4. eclipse 好用的快捷键
  5. JAVA编程心得-JAVA实现CRC-CCITT(XMODEM)算法
  6. 浅析SQL Server在可序列化隔离级别下,防止幻读的范围锁的锁定问题
  7. C# 10分钟完成百度人脸识别——入门篇
  8. 【技术说明】iOS10来了,AppCan已全面适配!
  9. 查看和修改Linux服务器的时区和时间
  10. greenplum中to_date函数注意点
  11. 分块入门(根据hzwer的博客。。)(右端点是r不是n。。)
  12. 按字典序依次打印只由1~n组成的n位数
  13. C# ffmpeg工具将视频转为SWF格式
  14. CSS快速入门-基本选择器
  15. android流量统计
  16. 深入浅出TCP之listen
  17. ProtocolBuffer 使用及 一些坑
  18. 解耦你的HTML,CSS和JAVASRIPT
  19. Swift之沙盒与数据存储
  20. C#一个FTP操作封装类FTPHelper

热门文章

  1. lshw-查看系统硬件信息
  2. OpenERP(odoo)开发实例之搜索检索过去3个月的数据
  3. 安卓camera拍照时序
  4. STL源码剖析(heap)
  5. spring Di依赖注入
  6. angularJS使用内置服务
  7. Task WaitAll的用法
  8. NGUI的一个bug记录
  9. Atiti。流量提升软件设计大纲规划 v1 q45
  10. [gj]狮子经典语录