参考文章:
https://blog.csdn.net/cyf649669121/article/details/128419647
https://blog.csdn.net/weixin_41883890/article/details/124814356
1.资源引入
首先在Unity编辑器目录下的\Editor\Data\MonoBleedingEdge\lib\mono\unityjit-win32 找到System.Windows.Forms.dll,再把它放进Plugins文件夹下(没有的话就自己建一个)
2.Unity代码
首先上代码:
using System.Collections;
using System.Collections.Generic;
using System.Windows.Forms;
using UnityEngine;
public class UPLoadManger : MonoBehaviour
{
public void AddAssets()
{
OpenFileDialog od = new OpenFileDialog();
od.Title = "请选择需要上传的文件";
od.Multiselect = false;
od.Filter = "图片文件(*.jpg,*.png,*.bmp)|*.jpg;*.png;*.bmp|视频文件(*.mp4,*.wav)|*.mp4;.avi";
if (od.ShowDialog() == DialogResult.OK)
{
Debug.Log(od.FileName);
}
}
}
首先引入命名空间,之后创建OpenFileDialog对象,
之后再为对象设置各种属性
• InitialDirectory:对话框的初始目录
• Filter: 获取或设置当前文件名筛选器字符串,例如,“文本文件(.txt)|.txt|所有文件(.)||.” 多个条件并列代表着多个不同的筛选器
• FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1
• RestoreDirectory 控制对话框在关闭之前是否恢复当前目录
• FileName:第一个在对话框中显示的文件或最后一个选取的文件
• Title 将显示在对话框标题栏中的字符
• AddExtension 是否自动添加默认扩展名
• CheckPathExists 在对话框返回之前,检查指定路径是否存在
• DefaultExt 默认扩展名
• DereferenceLinks 在从对话框返回前是否取消引用快捷方式
• ShowHelp 启用"帮助"按钮
• ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列
属性设置完成之后,运行ShowDialog()即可开启窗口了,其中的FileName属性就是我们要找的文件地址了。
3.注意事项
在编辑器下运行这个方法很容易出现闪退的情况,不是当场闪退,而是过一阵才闪退,注意随时保存。
打开窗口时Unity的主进程是停止的