查看: 19712|回复: 124

[在unity中制作] 编辑器窗口

  [复制链接]

2

主题

2

帖子

52

积分

vip会员

Rank: 1

积分
52
发表于 2016-7-15 01:00:25 | 显示全部楼层 |阅读模式
您可以创建任意数量的自定义Windows。这些行为就像检查员、场景或其他内置的。这是添加一个用户界面,为你的游戏子系统的一个好方法。
编辑器窗口 严重的游戏互动用于脚本自定义编辑器界面
制作自定义的编辑器窗口中涉及以下几个简单的步骤:
  • 创建一个从EditorWindow继承脚本。
  • 使用代码触发窗口显示本身。
  • 你的工具的GUI代码实现。
从编辑器窗口
为了使您的编辑器窗口,你的脚本必须存储在一个文件夹名为“编辑”。在这个脚本中创建一个从EditorWindow继承的类。然后写下你的GUI控件内OnGUI函数。
/ / JS例子

班窗前延伸
OnGUI()函数编辑器窗口{ {
/实际窗口的代码放在这里

} }
/ / C #例子使用

UnityEngine;
使用UnityEditor;
使用系统。收藏;

公共类的例子:编辑器窗口

{
空OnGUI(){
/实际窗口的代码放在这里
mywindow.js -放在一个文件夹名为“编辑”在你的项目。
显示窗口
为了显示在屏幕上的窗口,使菜单项,显示它。这是通过创建一个函数,由做菜单项财产
在统一的默认行为是利用Windows(所以选择菜单项又会显示现有的Windows。这是通过使用函数editorwindow.getwindow这样地:
/ / JS例子

班窗前延伸{
”菜单项编辑器窗口(“窗口/我的窗口”)
静态函数ShowWindow(){
editorwindow.getwindow(窗前);
}

OnGUI(){函数
/实际窗口的代码放在这里
}
/ / C #例子使用

UnityEngine;
使用UnityEditor;
使用系统。收藏;

班窗前:{
[菜单编辑器窗口(“窗口/我的窗口”)]

public static void ShowWindow(){
编辑器窗口。个(typeof(窗前));}


无效
OnGUI(){ //实际窗口代码
显示我的窗前
这将创建一个标准的、可停靠的编辑器窗口,保存其位置之间的调用,可用于自定义布局,等有什么被创造了更多的控制,你可以使用getwindowwithrect
实施你的GUI窗口
窗口的实际内容被实现在OnGUI函数呈现。你可以使用你在游戏中使用的图形用户界面相同的UnityGUI类(GUI和GUILayout)。此外,我们提供了一些额外的GUI控件,位于编辑类EditorGUI和EditorGUILayout。这些类添加到已有的正常类的控件,所以你可以混合和匹配时。
下面的C #代码显示了如何您可以添加到您的自定义编辑器窗口的图形用户界面元素:
//C# Example
using UnityEditor;
using UnityEngine;

public class MyWindow : EditorWindow
{
    string myString = "Hello World";
    bool groupEnabled;
    bool myBool = true;
    float myFloat = 1.23f;

    // Add menu item named "My Window" to the Window menu
    [MenuItem("Window/My Window")]
    public static void ShowWindow()
    {
        //Show existing window instance. If one doesn't exist, make one.
        EditorWindow.GetWindow(typeof(MyWindow));
    }

    void OnGUI()
    {
        GUILayout.Label ("Base Settings", EditorStyles.boldLabel);
        myString = EditorGUILayout.TextField ("Text Field", myString);

        groupEnabled = EditorGUILayout.BeginToggleGroup ("Optional Settings", groupEnabled);
            myBool = EditorGUILayout.Toggle ("Toggle", myBool);
            myFloat = EditorGUILayout.Slider ("Slider", myFloat, -3, 3);
        EditorGUILayout.EndToggleGroup ();
    }
}

这个例子的结果在一个窗口,看起来像这样:
编辑器窗口 使用提供的示例中创建的自定义编辑器窗口。
为更多的信息,以在示例和文档的外观编辑器窗口页面。



回复

使用道具 举报

0

主题

841

帖子

2758

积分

vip会员

Rank: 1

积分
2758
发表于 2016-7-15 01:00:27 | 显示全部楼层
看上去不错呀,支持一下
回复 支持 反对

使用道具 举报

0

主题

898

帖子

2951

积分

vip会员

Rank: 1

积分
2951
发表于 2016-7-15 01:33:50 来自手机 | 显示全部楼层
搬运工 辛苦了
回复 支持 反对

使用道具 举报

0

主题

808

帖子

2680

积分

vip会员

Rank: 1

积分
2680
发表于 2016-7-15 01:47:31 来自手机 | 显示全部楼层
看看!便宜就好了
回复 支持 反对

使用道具 举报

0

主题

838

帖子

2787

积分

vip会员

Rank: 1

积分
2787
发表于 2016-7-15 02:34:46 来自手机 | 显示全部楼层
楼主辛苦
回复 支持 反对

使用道具 举报

0

主题

943

帖子

3101

积分

vip会员

Rank: 1

积分
3101
发表于 2016-7-15 02:59:06 | 显示全部楼层
全就行啊,,支持 一下
回复 支持 反对

使用道具 举报

0

主题

867

帖子

2891

积分

vip会员

Rank: 1

积分
2891
发表于 2016-7-15 03:50:59 来自手机 | 显示全部楼层
等会儿下载看看
回复 支持 反对

使用道具 举报

0

主题

878

帖子

2925

积分

vip会员

Rank: 1

积分
2925
发表于 2016-7-15 04:17:17 | 显示全部楼层
不错的资源啊,可以研究研究
回复 支持 反对

使用道具 举报

0

主题

891

帖子

2943

积分

vip会员

Rank: 1

积分
2943
发表于 2016-7-15 04:38:24 来自手机 | 显示全部楼层
这个必须顶,撸主好人
回复 支持 反对

使用道具 举报

0

主题

894

帖子

2977

积分

vip会员

Rank: 1

积分
2977
发表于 2016-7-15 05:17:58 来自手机 | 显示全部楼层
我知道楼主一向黑~~~~~
回复 支持 反对

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | enginedx注册

本版积分规则

 
 



邮件留言:


 
返回顶部