响应式网站cms,wordpress菜单栏菜单简介,网站的技术分析,淄博seo网站推广1、Unity中各路径和目录的对应关系image.png其中#xff0c;安卓中的路径是有两种分支的image.png在打包面板中#xff0c;有个Write Access当我们选择Internal Only就是表示沙盒路径#xff0c;/data/data/com.xxx.xxx/对应的Android方法为 getFilesDir()当我们选择SDCard时…1、Unity中各路径和目录的对应关系image.png其中安卓中的路径是有两种分支的image.png在打包面板中有个Write Access当我们选择Internal Only就是表示沙盒路径/data/data/com.xxx.xxx/对应的Android方法为 getFilesDir()当我们选择SDCard时就表示存储到SD卡上: /storage/emulated/0/Android/data/com.example.myapplication/files2、各个路径的特点Resources是作为一个Unity的保留文件夹出现的也就是如果你新建的文件夹的名字叫Resources那么里面的内容在打包时都会被无条件的打到发布包中。特点只读即不能动态修改。所以想要动态更新的资源不要放在这里。会将文件夹内的资源打包集成到.asset文件里面。因此建议可以放一些Prefab因为Prefab在打包时会自动过滤掉不需要的资源有利于减小资源包的大小。资源读取使用Resources.Load()。任何平台都可以用File读取StreamingAssetsStreamingAssets和Resources很像。同样作为一个只读的Unity3D的保留文件夹出现。不过两者也有很大的区别那就是Resources文件夹中的内容在打包时会被压缩和加密。而StreamingAsset文件夹中的内容则会原封不动的打入包中因此StreamingAssets主要用来存放一些二进制文件。在任何平台中总可以统一使用Application.streamingAssetsPath 属性来获得这一文件夹路径。特点PC端可读写移动端只读不可写。主要用来存放二进制文件配置文件。注意在Android中StreamingAssets中的文件包含在一个.jar压缩文件(基本上与标准的zip为统一格式)中所以移动端时只能用过UnityWebRequest类来读取。在PC下可以用File类API(如File.ReadAllText)读写StreamingAssets文件夹中的文件在IOS和Android平台下不能用File类API读取。任何平台都可以用www方式异步读取该文件夹内容。PC和IOS平台下读取路径必须加上file://而安卓不需要。在IOS和Android下还能用AssetBundle.LoadFromFile来同步读取数据。PersistentDataPath这个路径下是可读写。而且在IOS上就是应用程序的沙盒但是在Android可以是程序的沙盒也可以是sdcard。并且在Android打包的时候ProjectSetting页面有一个选项Write Access可以设置它的路径是沙盒还是sdcard。特点-可读写不过只能运行时才能写入或者读取。 提前将数据存入这个路径是不可行的。无内容限制。你可以从 StreamingAsset 中读取二进制文件或者从 AssetBundle 读取文件来写入 PersistentDataPath 中。写下的文件可以在电脑上查看。同样也可以清掉。可以使用UnityWebRequest类来读取。可以用File类API(如File.ReadAllText)读写PersistentDataPath文件夹中的文件(安卓下唯一可以用File类的路径)Application.DataPath注意移动端是没有访问权限的3、Unity文件的读写方式几个文件操作类介绍1、File类和FileInfo类的介绍File类和FileInfo类都是提供用于创建、复制、删除、移动和打开文件的方法一个是静态的一个是实例方法。简单来说就是Flie类可以直接通过类名调用其中的某些函数而FileInfo类需要先实例化一个对象再通过对象调用函数。一般来说如果是对文件进行少量的操作则建议用File类如果是对文件进行大量的存取操作建议用FileInfo类具体原因参照这 。 这里是官方的文档File类 FileInfo类。2、FileStream类和StreamWriter,StreamReader类的简单介绍FileStream类是一个操作类FileStream 对象表示在磁盘或网络路径指向文件的流这个类提供了在文件中读写字节的方法。简单来说就是这个Filestream这个文件流对 .txt等文件读写内容时需要使用的一个工具。如果File类是一个总的文件的话那么fileStream类就是对文件进行操作的笔。 FileStream类和StreamWriter,StreamReader类的区别在于FileStream类操作的是字节和字节数组而StreamWriter等类操作的是字符数据。StreamWriter类操作的只能是文本类型的而FileStream类的对象可以是任何类型的。操作文本的话用StreamWriter等比较方便。下面是用File和FileInfo两种方式去创建文件以及用StreamWriter写文件的方法File方式using UnityEngine;using System.Collections;using System.Collections.Generic;using System.IO;public class FileOperate : MonoBehaviour public void WriteFileByLine(string file_path,string file_name,string str_info)StreamWriter sw;if(!File.Exists(file_path//file_name))swFile.CreateText(file_path//file_name);//创建一个用于写入 UTF-8 编码的文本Debug.Log(文件创建成功);elseswFile.AppendText(file_path//file_name);//打开现有 UTF-8 编码文本文件以进行读取sw.WriteLine(str_info);//以行为单位写入字符串sw.Close ();sw.Dispose ();//文件流释放void Start()WriteFileByLine (Application.persistentDataPath,my_newfile.txt,信息);FileInfo方式public void WriteFileByLine(string file_path,string file_name,string str_info)StreamWriter sw;FileInfo file_info new FileInfo (file_path//file_name);if(!file_info.Exists)swfile_info.CreateText();//创建一个用于写入 UTF-8 编码的文本Debug.Log(文件创建成功);elseswfile_info.AppendText();//打开现有 UTF-8 编码文本文件以进行读取sw.WriteLine(str_info);sw.Close ();sw.Dispose ();//文件流释放4、Unity路径解疑上面了解各个路径的特性读写方式但是还有一个经常容易犯错的地方就是路径的写法。Unity3D关于路径资源的调用分为绝对路径和相对路径绝对路径windows下path file://D:\TestFile\Cat\ Number .png;这种写法因为斜杠需要转移所以这里是双斜杠不然报语法错误有些时候没写双斜杠但又不报语法错但是路径是错误的就很难发现问题。所以建议用另外一种写法file:///D:\TestFile\Cat Number .png;或者file://D:\TestFile\Cat Number .png;file后面跟三个斜杠或者两个斜杠都行。安卓下path jar:file://PersistentDataPath(示例) Number .png;注因为在安卓下对unity来说也只有PersistentDataPathStreamingAssets这几个路径是可用的通常不会这么使用可以忽略而且绝对路径限制大一般采用相对路径。相对路径PC上url Application.persistentDataPath /mydir/qq.txt;或者string path Path.Combine(Application.persistentDataPath, fillName);安卓下file:// Application.streamingAssetsPath \TestFile\Cat\ Number .png;file:// Application.PersistentDataPath \TestFile\Cat\ Number .png;或者file:// Path.Combine(Application.persistentDataPath, fillName);总之路径写法的东西不行就多是一两次就好了。