向Unity3d编辑器添加按钮

时间:2016-05-14 22:32:43

标签: c# button unity3d editor game-engine

在Unity3D中,我只需在类中添加一个公共属性即可在编辑器中显示属性字段。是否可以在此字段旁边添加一个按钮,打开一个填充该字段的文件浏览器?

我找到了EditorUtility.OpenFilePanel但是如何在编辑器中添加一个按钮来调用该方法? (我不是指顶部工具栏中的菜单,如该页面上的示例代码所示)

由于

1 个答案:

答案 0 :(得分:3)

当您选择要引用的gameObject时,GUILayout.Button()方法会在检查器中显示一个按钮。

例如......这段代码(customButton.cs)在脚本中为检查员添加了一个按钮" OpenFileButtonScript.cs"它调用它的OpenDialog()方法。

using UnityEngine;
using System.Collections;
using UnityEditor;

[CustomEditor(typeof(OpenFileButtonScript))]
public class customButton : Editor
{
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        OpenFileButtonScript myScript = (OpenFileButtonScript)target;
        if (GUILayout.Button("Open File"))
        {
            myScript.OpenDialog();
        }
    }

}

这是" OpenFileButtonScript.cs"脚本:

using UnityEngine;
using System.Collections;
using UnityEditor;

public class OpenFileButtonScript : MonoBehaviour {

    public string path;

    public void OpenDialog()
    {
        path = EditorUtility.OpenFilePanel(
                    "Open file",
                    "",
                    "*");
    }
}

我希望这可以帮到你。有关按钮的详细信息,请参阅此videotutorial