unity 读取文件夹中所有图标
时间: 2023-10-22 09:17:37 浏览: 84
您好!要在Unity中读取文件夹中所有图标,可以使用以下代码:
```c#
using System.IO;
using UnityEngine;
public class LoadIcons : MonoBehaviour
{
public string iconsFolderPath; // 图标文件夹路径
public Sprite[] icons; // 存储图标的数组
void Start()
{
LoadAllIcons();
}
void LoadAllIcons()
{
// 获取文件夹中的所有图标文件路径
string[] filePaths = Directory.GetFiles(iconsFolderPath, "*.png");
// 初始化图标数组
icons = new Sprite[filePaths.Length];
for (int i = 0; i < filePaths.Length; i++)
{
// 读取图标文件的字节数组
byte[] fileData = File.ReadAllBytes(filePaths[i]);
// 创建新的2D纹理
Texture2D texture = new Texture2D(2, 2);
texture.LoadImage(fileData);
// 将纹理转换为Sprite
Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
// 存储Sprite到数组中
icons[i] = sprite;
}
}
}
```
上述代码中,首先需要指定图标文件夹的路径,然后通过`Directory.GetFiles()`方法获取文件夹中所有`.png`格式的文件路径,接着使用`File.ReadAllBytes()`方法读取每个文件的字节数组,然后创建新的2D纹理并将字节数组加载到纹理中,最后将纹理转换为Sprite并存储到数组中。
希望这可以帮助到您!
阅读全文