[置顶] Unity加载本地文件夹中的所有文件
2016-03-28 16:39
459 查看
在我们做项目的时候,为了客户更方便的替换资源,我们会在PC本地的目录下读取资源。
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.IO;
public class LoadTexture : MonoBehaviour
{
//建立一个字典,来保存加载进来的图片
private Dictionary<int, Texture> dirArr = new Dictionary<int, Texture>();
//本地的路径,fileName表示的是文件夹的名字
private string url = @"E:\fileName";
void Start()
{
long length= GetDirectoryLength(url);
for (int i = 0; i < length; i++)
{
StartCoroutine(TEX(i.ToString()));
}
}
//从本地加载文本,index这里表示的是文件夹中文件的名字,通过名字一个一个的加载
IEnumerator TEX(string index)
{
//这里的文件路径与url的不一样,需要加上file://
WWW w = new WWW(@"file://E:\fileName\" + index + ".png");
yield return w;
int i = int.Parse(index);
dirArr.Add(i, w.texture);
}
//获取到文件夹中的个数
public long GetDirectoryLength(string dirPath)
{
//判断给定的路径是否存在,如果不存在则退出
if (!Directory.Exists(dirPath))
return 0;
long len = 0;
//定义一个DirectoryInfo对象
DirectoryInfo di = new DirectoryInfo(dirPath);
//通过GetFiles方法,获取di目录中的所有文件的大小
foreach (FileInfo fi in di.GetFiles())
{
len++;
}
return len;
}
}
这里就已经把外部的文件加载到unity里面了,并且保存在了字典中,当我们需要这些图片的时候就调用dirArr就可以了,当然了加载文本和这个都是类似的。
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.IO;
public class LoadTexture : MonoBehaviour
{
//建立一个字典,来保存加载进来的图片
private Dictionary<int, Texture> dirArr = new Dictionary<int, Texture>();
//本地的路径,fileName表示的是文件夹的名字
private string url = @"E:\fileName";
void Start()
{
long length= GetDirectoryLength(url);
for (int i = 0; i < length; i++)
{
StartCoroutine(TEX(i.ToString()));
}
}
//从本地加载文本,index这里表示的是文件夹中文件的名字,通过名字一个一个的加载
IEnumerator TEX(string index)
{
//这里的文件路径与url的不一样,需要加上file://
WWW w = new WWW(@"file://E:\fileName\" + index + ".png");
yield return w;
int i = int.Parse(index);
dirArr.Add(i, w.texture);
}
//获取到文件夹中的个数
public long GetDirectoryLength(string dirPath)
{
//判断给定的路径是否存在,如果不存在则退出
if (!Directory.Exists(dirPath))
return 0;
long len = 0;
//定义一个DirectoryInfo对象
DirectoryInfo di = new DirectoryInfo(dirPath);
//通过GetFiles方法,获取di目录中的所有文件的大小
foreach (FileInfo fi in di.GetFiles())
{
len++;
}
return len;
}
}
这里就已经把外部的文件加载到unity里面了,并且保存在了字典中,当我们需要这些图片的时候就调用dirArr就可以了,当然了加载文本和这个都是类似的。
相关文章推荐
- Unity3D嵌入WPF教程
- Unity 5.3 官方VR教程(—)VR综述
- Unity和Android交互
- unity3d 更改C#脚本创建模版
- Unity3D手游开发日记(6) - 适合移动平台的水深处理
- Unity3D手游开发日记(5) - 适合移动平台的植被随风摆动
- Unity如何挂接Android程序
- [Unity官方文档翻译]Learning the Interface学习基础视窗
- 【Android和Unity交互】Android SDK下载速度慢无法更新?使用国内镜像站加速!
- 「Unity」Unity中接入iOS、Android平台:第零篇,内容描述
- Unity3D中Prefab
- unity5.3 场景烘焙
- unity减小包的体积
- Unity3D教程系列 新手入门,中度进阶神器
- 破解Unity5.3.4f1
- Unity 无重力系统打飞碟
- [UnityUI]NGUI备忘录
- Unity的二进制热更新
- JUDE-Community(社区版) 5.5.2 典藏绿色中文版
- 【Unity3D游戏开发】定制截图截图(三五)