Unity 中实现文件选择功能的技巧
想在 Unity 游戏里让玩家选择文件?Unity 2017.1.0f3 版本没有直接提供像 OpenFileDialog 这样的组件,但我们可以用其他方法实现。
方法一:借助 Unity 编辑器
在编辑器环境下,我们可以使用 UnityEditor.FileDialog 类来创建文件选择窗口。但这招只在编辑器里有效,游戏打包后就不行了。
using UnityEngine;
using UnityEditor;
public class OpenFileDialogExample : MonoBehaviour
{
[MenuItem("File/Open File")]
static void OpenFile()
{
string path = UnityEditor.EditorUtility.OpenFilePanel("选择文件", "*", "*");
if (!string.IsNullOrEmpty(path))
{
Debug.Log("选中的文件:" + path);
// 处理选中的文件
}
}
}
这段代码会在菜单栏创建一个“File/Open File”选项,点击后弹出文件选择窗口,选中文件后路径会打印到控制台。
方法二:调用系统对话框
对于打包好的游戏,可以用 Application.OpenURL 方法调用系统自带的文件选择窗口。不过这种方式需要玩家手动复制粘贴文件路径,体验不太好。
using UnityEngine;
using System.Diagnostics;
public class OpenFileDialogExample : MonoBehaviour
{
public void OpenFile()
{
// ... 根据系统平台决定打开方式 ...
}
}
这段代码需要根据不同的操作系统 (Windows, macOS, Linux) 来决定如何打开文件选择窗口。
1014.18KB
文件大小:
评论区