将按钮添加到 Unity3d 编辑器

Try*_*ode 3 c# editor button game-engine unity-game-engine

在 Unity3D 中,我可以通过简单地向类添加一个公共属性来让一个属性字段出现在编辑器中。是否可以在此字段旁边添加一个按钮以打开填充该字段的文件浏览器?

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

谢谢

小智 7

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

例如...此代码 (customButton.cs) 在调用其 OpenDialog() 方法的脚本“OpenFileButtonScript.cs”中向检查器添加一个按钮。

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();
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

这是“OpenFileButtonScript.cs”脚本:

using UnityEngine;
using System.Collections;
using UnityEditor;

public class OpenFileButtonScript : MonoBehaviour {

    public string path;

    public void OpenDialog()
    {
        path = EditorUtility.OpenFilePanel(
                    "Open file",
                    "",
                    "*");
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望这可以帮助你。有关按钮的更多信息,请参阅此视频教程