【发布时间】:2016-05-14 22:32:43
【问题描述】:
在 Unity3D 中,我可以在编辑器中显示一个属性字段,只需向类添加一个公共属性即可。是否可以在此字段旁边添加一个按钮,以打开填充该字段的文件浏览器?
我找到了EditorUtility.OpenFilePanel,但是如何在编辑器中添加一个按钮来调用该方法? (我不是指顶部工具栏中的菜单,如该页面上的示例代码所示)
谢谢
【问题讨论】:
标签: c# button unity3d editor game-engine
在 Unity3D 中,我可以在编辑器中显示一个属性字段,只需向类添加一个公共属性即可。是否可以在此字段旁边添加一个按钮,以打开填充该字段的文件浏览器?
我找到了EditorUtility.OpenFilePanel,但是如何在编辑器中添加一个按钮来调用该方法? (我不是指顶部工具栏中的菜单,如该页面上的示例代码所示)
谢谢
【问题讨论】:
标签: c# button unity3d editor game-engine
当您选择要引用的游戏对象时,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();
}
}
}
这是“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
【讨论】: