当前位置: 首页 > news >正文

【案例】Unity 平台访问文件浏览器(汇总)

开发平台:Unity 2020
编程平台:Visual Studio 2022

使用 UnityEditor.EditorUtility.OpenFilePanel


使用背景:仅限制在编辑器模式下可用。无法参与发布项目中调用。

public void ReadFile<T>()
{var thisFile = Selection.activeObject as T;if(thisFile != null){var thisFilePath = EditorUtility.OpenFilePanel("标题", "打开目录路径", ".*", false);if(string.isNullOrEmpty(thisFilePath)){var thisFileBytes = File.ReadAllBytes(thisFilePath);thisFile.LoadImage(fileContent);}}
}

核心方法

UnityEditor.EditorUtility.OpenFilePanel(string title, string directory, string extension, bool multiselect)

附注: directory=string.Empty:指向 Asset 目录路径

使用 System.Windows.Forms.OpenFileDialog


如果期望于发布项目中调用文件对话窗,则需要引入 System.Windows.Forms.dll 程序集至 plugin 目录中。

public static bool OpenFile(string rootPath = UnityEngine.Application.dataPath, out string filePath)
{if (string.IsNullOrEmpty(rootPath)){filePath = string.empty;return false;}OpenFileDialog openFileDialog = new OpenFileDialog{Title = "选择文件",                                      // 对话框标题InitialDirectory = @"C:\\",                             // 初始目录Filter = "文本文件 (*.txt)|*.txt|所有文件 (*.*)|*.*",    // 文件过滤器FilterIndex = 2,                                       // 默认过滤器索引RestoreDirectory = true,                               // 是否恢复之前的目录Multiselect = false                                    // 是否允许多选};bool isOk = thisDialog.ShowDialog().OK;filePath =  isOk ?thisDialog.FileName : string.Empty;return isOk;
}
http://www.dtcms.com/a/511786.html

相关文章:

  • Matlab 曲线拟合
  • 基于CSMA-CA协议的V2X通信MATLAB仿真
  • 基于matlab实现的DnCNN网络
  • 网站一般用什么工具做wordpress英文版切换中文
  • 十大最佳摄影网站windows 版 wordpress
  • ruby 、gem 和 cocoapods的联系与区别
  • Python 圆台体积和表面积计算程序(Program for Volume and Surface area of Frustum of Cone)
  • MySQL索引指南
  • 分销网站制作条件免费机械网站模板
  • day01 pyspark入门和基础环境
  • 公司网站 URL 地址规范
  • 建设一个广告联盟的网站免费祝福网页在线制作
  • 实现Trie(前缀树)
  • 杰理SDK入门教程(六):自定义按键事件
  • gray = roi.clone();和gray = roi;的区别是什么?
  • STM32中MX_TIM2_Init函数和HAL_TIM_Base_MspInit函数区别
  • 【基于Selenium的智能滑块验证码破解技术详解】
  • AI体测设备服务商
  • 网站之间如何做视频交换惠州搜索引擎优化
  • 李宏毅机器学习笔记28
  • 【开题答辩实录分享】以《智慧社区信息化服务平台》为例进行答辩实录分享
  • 京东网站建设过程东莞建设网站的位置
  • SAP SD销售订单执行跟踪报表分享
  • 数据挖掘比赛baseline参考
  • [人工智能-大模型-19]:GitHub Copilot:程序员的 AI 编程副驾驶
  • 【JVM】低延迟垃圾收集器:Shenandoah收集器与ZGC收集器
  • 深圳网站建设deyondwordpress主题wake
  • Day44 | J.U.C中的LockSupport详解
  • 网络安全生态及学习路线
  • 深度学习-卷积神经网络基础