unity 获取选择文件夹下所有png文件,代码怎么写
时间: 2024-10-04 21:02:44 浏览: 30
在Unity中获取用户选择的文件夹下的所有PNG文件,你可以使用`System.IO.DirectoryInfo`类配合递归搜索功能来实现。下面是一个简单的示例代码,它会在用户指定的目录及其子目录中查找所有的`.png`文件:
```csharp
using System;
using System.IO;
public class Example : MonoBehaviour
{
public string selectedDirectory = ""; // 用户选择的文件夹路径
void Start()
{
if (!string.IsNullOrEmpty(selectedDirectory))
{
FindPNGFiles(selectedDirectory);
}
}
void FindPNGFiles(string path)
{
try
{
var directoryInfo = new DirectoryInfo(path);
foreach (var file in directoryInfo.GetFiles("*.png", SearchOption.AllDirectories))
{
Debug.Log($"Found PNG file: {file.FullName}");
// 这里可以替换为你的实际操作,比如添加到数组、显示在UI等
}
}
catch (Exception ex)
{
Debug.LogError($"Error finding files: {ex.Message}");
}
}
// 点击按钮或事件触发的地方设置selectedDirectory变量
public void SelectFolderButton_Clicked()
{
// 使用Unity的文件浏览器组件获取用户选择的文件夹路径并赋值给selectedDirectory
selectedDirectory = Application.temporaryCachePath + "/UserSelectedFolder";
}
}
```
在这个例子中,`SelectFolderButton_Clicked()`方法用于获取用户的文件选择,并将其赋值给`selectedDirectory`。然后`FindPNGFiles`函数会遍历这个路径及其子目录寻找PNG文件。
阅读全文