首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Unity Editor【Open Folder Panel】- 打开选择文件夹窗口并记录文件夹路径

Unity Editor【Open Folder Panel】- 打开选择文件夹窗口并记录文件夹路径

作者头像
CoderZ
发布2022-08-29 16:39:00
发布2022-08-29 16:39:00
4.1K0
举报

如图所示,在Unity Editor编辑器环境下编写这样一个功能:点击“浏览”按钮,打开一个窗口,选择文件夹并记录该文件夹的路径:

用到的API:EditorUtility类中的OpenFolderPanel方法:

代码语言:javascript
复制
// 摘要:
//     Displays the "open folder" dialog and returns the selected path name.
// 参数:
//   title:
//
//   folder:
//
//   defaultName:
[FreeFunction("RunOpenFolderPanel")] 
public static string OpenFolderPanel(string title, string folder, string defaultName);

第一个参数title:表示打开的窗口的标题:

第二个参数folder:打开窗口时的默认路径,例如传入Application.dataPath,则打开时路径为项目工程的Assets路径:

第三个参数defaultName:打开窗口时,“文件夹:”后的默认名称:

测试代码:

代码语言:javascript
复制
using UnityEngine;
using UnityEditor;
public class Example : EditorWindow
{
    //窗口菜单
    [MenuItem("SKFramework/Example")]
    private static void Open()
    {
        //打开窗口
        GetWindow<Example>().Show();
    }
    //用于记录选择的文件夹路径
    private string path;
    private void OnGUI()
    {        
        //水平布局
        GUILayout.BeginHorizontal();
        {
            //行头
            GUILayout.Label("路径", GUILayout.Width(50f));
            //文本输入框 用于编辑并展示路径
            path = GUILayout.TextField(path);
            //点击浏览按钮,打开选择文件夹窗口 并用path记录选择的结果
            if (GUILayout.Button("浏览", GUILayout.Width(50f)))
            {
                //param1:窗口标题
                //param2: 打开窗口 默认路径
                //param3:打开窗口 文件夹默认名称
                path = EditorUtility.OpenFolderPanel("窗口标题", Application.dataPath, "123");
            }
        }
        GUILayout.EndHorizontal();
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 当代野生程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档