Data与Resources文件夹
一般只读文件放到Resources目录
Data用于新建的文件或者要修改的文件
=================================================================

Unity默认的Resource加载
  保存和读取资源的 最简单的 方式了。但是 如果想让资源在编译后不改变,只能这样做。
  因为这里面的内容会 组合并编译到resource.assets文件(此文件可以在编译过的游戏的Data文件中找到)
  可以从编译过的项目文件Resource.assets中去加载

用法
  //Texture2D  (Texture2D)Resouce.Load(fileName);
  //文本资源      (TextAsset)Resouce.Load("ddd");
                       读取文本内容  TestAsset.text
  //声音             (AudioClip)Resouce.Load();

==========================================================

加载编译之后的文件

using System.IO;
using UnityEngine;
using System.Collections; public class temp : MonoBehaviour
{
private string fileName = "a.jpg";
private string url;
private Texture2D externalImage;
// Use this for initialization
void Start()
{
url = "file:" + Application.dataPath;
url = Path.Combine(url, "Resources");
url = Path.Combine(url, fileName); StartCoroutine(LoadWWW());
} private IEnumerator LoadWWW()
{
yield return ;
WWW www=new WWW(url);
yield return www;
externalImage = www.texture;
}
// Update is called once per frame
void Update()
{ }
}

需要System.IO类
www类的对象时以“file:"开头的URL,
使用Path.Combine()而不是 ”\   /“以避免跨平台的问题

WWW和资源内容
WWW类定义了几个不同的属性和方法 用于把下载的资源 文件 数据提取到变量中
.text 只读 web数据作为string类型返回
.texture 只读 作为Texture2D类型返回
.GetAudioClip() 方法 作为AudioClip对象类型返回

=======================================================

通过从互联网 下载文件与加载外部资源文件
从服务器下载

using UnityEngine;
using System.Collections; public class temp : MonoBehaviour
{
private string url="http://www.packtpub.com/sites/default/files/packt_logo.png";
private Texture2D externalImage;
// Use this for initialization
void Start()
{
StartCoroutine(LoadWWW());
} private void OnGUI()
{
GUILayout.Label("url="+url);
GUILayout.Label(externalImage);
}
private IEnumerator LoadWWW()
{
yield return ;
WWW imageFile=new WWW(url);
yield return imageFile;
externalImage = imageFile.texture;
}
// Update is called once per frame
void Update()
{ }
}

==========================================================

使用外部文本文件和XML数据
最简单的是TextAsset 共有变量(编译后数据文件不再改变的情况下适用)

 public TextAsset DataTestAsset;
private string textData; void Start()
{
textData = DataTestAsset.text;
}

C#文件流加载外部文本文件

using System;
using UnityEngine;
using System.Collections;
using System.IO;
public class FileReadWriteManager
{
public void WriteTextFile(string pathAndName, string stringData)
{
//remove file ,if exists
FileInfo textFile=new FileInfo(pathAndName);
if (textFile.Exists)
{
textFile.Delete();
}
//create new empty file
StreamWriter writer;
writer = textFile.CreateText();
//write text to file
writer.Write(stringData);
writer.Close();
} public string ReadTextFile(string pathAndName)
{
string dataAsString = "";
try
{
//open text file
StreamReader textReader = File.OpenText(pathAndName);
//read content
dataAsString = textReader.ReadToEnd();
textReader.Close();
}
catch (Exception e)
{ }
return dataAsString;
}
}

调用示例

private string fileName = "cities.txt";
private string filePath = "";
private FileReadWriteManager fileReadWriteManager=new FileReadWriteManager();
void Start()
{
filePath = Path.Combine(Application.dataPath, "Resources");
filePath = Path.Combine(filePath, fileName);
string textContent = fileReadWriteManager.ReadTextFile(filePath);
}
 private string fileName = "hello.txt";
private string foleName = "Data";
//需要在Project面板中创建一个Data目录文件夹
private string filePath = "";
private FileReadWriteManager fileReadWriteManager=new FileReadWriteManager();
void Start()
{
filePath = Application.dataPath + Path.DirectorySeparatorChar + fileName;
string textData = "abc\n def"; fileReadWriteManager.WriteTextFile(filePath, textData);
filePath = Path.Combine(filePath, fileName);
string textContent = fileReadWriteManager.ReadTextFile(filePath);
}

Unity3d- 资源的更多相关文章

  1. unity3d 资源文件从MAX或者MAYA中导出的注意事项

    unity3d 资源文件从MAX或者MAYA中导出的注意事项     1.首先,Unity3d 中,导出带动画的资源有2种导出方式可以选择:    1) 导出资源时,只导出一个文件,保留模型,骨骼和所 ...

  2. KEngine:Unity3D资源的打包、加载、调试监控

    资源模块做什么? 资源模块——ResourceModule,是KEngine中最核心的模块,其他模块基本或多或少的对它有依赖,它主要的功能是:资源打包.路径定义.资源管理.资源调试. 资源模块对Uni ...

  3. Unity3D资源存放笔记

    文件夹及路径 昨天记了一篇AssetBundle学习笔记,那么游戏中的各种资源应该如何存放呢? 在网上一阵搜罗,把笔记记一下. 非特殊名称文件夹 非Unity3D指定名称的文件夹中的资源,如果游戏场景 ...

  4. unity3d 资源打包加密 整理

    资源打包脚本,放到Assets\Editor 文件夹下 using UnityEngine; using System.Collections; using UnityEditor; using Sy ...

  5. 【转】unity3d 资源文件从MAX或者MAYA中导出的注意事项

    转自游戏开发主席   1.首先,Unity3d 中,导出带动画的资源有2种导出方式可以选择:    1) 导出资源时,只导出一个文件,保留模型,骨骼和所有的动作帧(把所有的动作,比如idle,atta ...

  6. unity3d资源打包总结

    http://www.manew.com/blog-33734-12973.html unity 打包的时候会把下面几个文件资源打进apk或者ipa包里面 1. Asset下的所有脚本文件 2. As ...

  7. Unity3D资源

    1.ShareSDK 地址:https://github.com/MobClub/New-Unity-For-ShareSDK 文档:产品集成步骤 2.Protobuf https://github. ...

  8. [vuforia][unity3d]资源链接

    http://bbs.csdn.net/topics/390787189 CSDN论坛中 “Qualcomm Vuforia(AR虚拟现实)开发” 主题资源下载 http://bbs.csdn.net ...

  9. (转)unity3D 如何提取游戏资源 (反编译)+代码反编译

    原帖:http://bbs.9ria.com/thread-401140-1-1.html 首先感谢 雨松MOMO 的一篇帖子 教我们怎么提取 .ipa 中的游戏资源.教我们初步的破解unity3d资 ...

  10. (转)Unity3D 开发优秀技术资源汇总

    原文:http://www.j2megame.com/html/xwzx/ty/3179.html Unity3D 博客 http://www.dapp.com.br/  by Dapp http:/ ...

随机推荐

  1. flask表单,orm,csrf

    flask表单是flask中最基本的功能. 它是负责HTML页面中数据采集的部分,它由三部分组成:表单标签,表单域,表单按钮组成,通过表单用户输入的数据提交给服务器. flask表单封装了WTForm ...

  2. 2016 ACM-ICPC EC-Final

    题目链接:Uva传送门 CFGym传送门 UVALive7897 Number Theory Problem (找规律签到) 思路: 8的幂次都是可以的,因为an-1一定能分解成a-1乘上一个多项式. ...

  3. Python简单介绍

    一.变量名命名规则 1).变量名要由字母数字下划线组成 2)变量名禁止以数字开头 3)变量名禁止使用Python自带关键字 4)变量名不要用中文和拼音 5)变量名大小写敏感 6)变量名推荐写法:下划线 ...

  4. 小米4c刷LineageOS

    注意,本文仅限于小米4c,其他手机仅可参考步骤.如下rom,su,gapps包的下载都是小米4c的,深刷miflash也仅适用于小米手机.准备工作:请自行备份好手机内的个人资料. 电脑环境,usb驱动 ...

  5. C++学习(二十)(C语言部分)之 函数1

    函数 printf 输出的函数 scanf 输入的函数函数是什么 怎么写 是一组一起执行一个任务的语句 一个程序的基本组成单位是函数 只需要知道函数名字和括号里面要填的内容 就可以调用函数 1.如果代 ...

  6. 《DSP using MATLAB》Problem 6.21

    代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...

  7. LeetCode - Reorganize String

    Given a string S, check if the letters can be rearranged so that two characters that are adjacent to ...

  8. mac-ppt-auto-open-recovery-files

    mac 每次打开PPT都会出现一个自动保存的文件,不知道这个文件是保存在哪里,该怎么删除 打开finder(访达),按 shift+command+G,输入~/Library/Containers/c ...

  9. centos7/linux 磁盘管理入门

    添加新磁盘并挂载: 设置虚拟机系统里添加磁盘,重启虚拟机后,虚拟机目录/dev下会增加一个sdb设备. 使用fdisk /dev/sdb 管理磁盘分区,首先p 查看磁盘分区信息,然后n增加一个主分区, ...

  10. gravitee-gateway 又一个开源 apigateway

    gravitee-gateway 是Gravitee.io基于 java 开发的api gateway 功能很丰富,包含ui 界面 报警管理,访问控制管理,同时也包含一个比较完整的api 声明周期管理 ...