unity学习21:Application类与文件存储的位置

目录

1 unity是一个跨平台的引擎

1.1 使用 Application类,去读写文件

1.2 路径特点

1.2.1 相对位置/相对路径:

1.2.2 固定位置/绝对路径:

1.3 测试方法,仍然挂一个C#脚本在gb上

2 游戏数据文件夹路径(只读)Application.dataPath 

2.1 Application.dataPath

2.2 跨平台时不同,相对路径需要拼接外部路径

2.3 特点:

2.4 测试

3 Application.streamingAssetsPath (只读)

3.1 Application.streamingAssetsPath

3.2 在unity的编辑器默认是没有的,也不显示

3.3 特点:

3.4 测试

4 游戏持久化文件路径  persistentDataPath (可读可写)

 4.1 persistentDataPath

4.2 特点

4.3 测试

5  游戏的临时文件夹 Application.temporaryCachePath

5.1 Application.temporaryCachePath

5.2  测试


1 unity是一个跨平台的引擎

  • unity输出的游戏包,可以适应各种平台
  • 比如 android ,  ios , 和一些主机游戏平台

1.1 使用 Application类,去读写文件

  • 比如 Application.datapath
  • 比如 Application.persistenpath
  • 知道文件在哪儿,才可以去读,才可以去存

1.2 路径特点

1.2.1 相对位置/相对路径:

  • dataPath和streamingAssetsPath这两个属性的返回值一般是相对于程序安装目录的位置,由于是相对位置适用于在多平台移植中设置要读取外部数据文件的路径
  • 并且者2个文件夹时只读的

1.2.2 固定位置/绝对路径:

  • persistentDataPath和temporaryCachePath这两个属性的返回值一般是程序所在平台的固定位置,对于不同的平台,其位置是不一样的,适合存放程序运行过程中产生的一些数据文件
  • 可读可写

1.3 测试方法,仍然挂一个C#脚本在gb上

2 游戏数据文件夹路径(只读)Application.dataPath 

2.1 Application.dataPath

  • Application.dataPath
  • 此属性用于返回程序的数据文件所在文件夹的路径(只读)。
  • 返回路径为相对路径,不同的游戏平台的数据文件保存路径不同。
  • windows的unity编辑器下,这个文件夹路径,其实就是 unity 编辑器的工程Assets目录路径

2.2 跨平台时不同,相对路径需要拼接外部路径

  • unity可以跨平台,Application.dataPath在不同的平台下的路径是不同的
  1. windows的unity编辑器下是 unity 编辑器的工程Assets目录路径
  2. Win player:<包含可执行文件的文件夹路径>/Data
  3. Mac player:<应用程序路径>/<AppName.app>/Data

2.3 特点:

  1. 只读,
  2. 加密+压缩

2.4 测试

  • Application.dataPath                            //返回的就是unity现在项目的Assets目录
  • Application.dataPath+"/Readme"        //返回的是拼接的路径下的文件
  • "Application.dataPath"+Application.dataPath+"/Readme"

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ApplicationTest : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){Debug.Log("Application.dataPath"+Application.dataPath);Debug.Log("Application.dataPath"+Application.dataPath+"/Readme");}// Update is called once per framevoid Update(){}
}

3 Application.streamingAssetsPath (只读)

3.1 Application.streamingAssetsPath

  • streamingAssetsPath:
  • 此属性用于返回流数据的缓存目录,返回路径为相对路径,适合设置一下外部数据文件的路径
  • windows的unity下,这个文件夹路径,其实就是 unity 编辑器的工程Assets目录路径下一个子文件夹

3.2 在unity的编辑器默认是没有的,也不显示

  • 但是,在unity的编辑器默认是没有的,也不显示
  • 需要手动创建
  • 需要在工程里 手动创建这个文件夹,Application.streamingAssetsPath

3.3 特点:

  1. 只读,
  2. 加密+压缩
  • Application.streamingAssetsPath
  • 游戏的配置文件:比如存档? mod修改?
  • 一些不需要加密的二进制文件

3.4 测试

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ApplicationTest : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){Debug.Log("Application.dataPath"+Application.dataPath);Debug.Log("Application.dataPath"+Application.dataPath+"/Readme");Debug.Log("Application.persistentDataPath"+Application.persistentDataPath);Debug.Log("Application.streamingAssetsPath"+Application.streamingAssetsPath);}// Update is called once per framevoid Update(){}
}

4 游戏持久化文件路径  persistentDataPath (可读可写)

 4.1 persistentDataPath

  • 持久化文件路径
  • persistentDataPath:此属性用于返回一个持久化数据存储目录的路径(只读),
  • 可以在此路径下存储一下持久化的数据文件。
  • 对于同一平台,在不同程序中调用此属性时,其返回值是相同的,但是在不同的运行平台下,其返回值会不一样。

4.2 特点

  1. 可读,可写
  2. 可见,不加密,不压缩,方便阅读和拷贝
  • 存储的文职,并不在 unity的项目的Assets这里了
  • 可以看到下面的测试结果,这个persistantDataPath 是存储在C盘的。也是跨平台的

4.3 测试

  • Application.persistantDataPath          //返回的就是unity现在项目的Assets目录
  • 游戏的配置,都存储在这个文件路径下
  • 游戏存档,在 Roaming下?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ApplicationTest : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){Debug.Log("Application.dataPath"+Application.dataPath);Debug.Log("Application.dataPath"+Application.dataPath+"/Readme");Debug.Log("Application.persistentDataPath"+Application.persistentDataPath);Debug.Log("Application.streamingAssetsPath"+Application.streamingAssetsPath);}// Update is called once per framevoid Update(){}
}


 

5  游戏的临时文件夹 Application.temporaryCachePath

5.1 Application.temporaryCachePath

  • temporaryCachePath:
  • 此属性用于返回一个临时数据的缓存目录(只读)。
  • 对于同一平台,在不同程序中调用此属性时,其返回值是相同的,但是在不同的运行平台下,其返回值是不一样的。
  • 游戏读写文件时的临时的保存文件夹,可能就是类缓存之类的吧

5.2  测试

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ApplicationTest : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){Debug.Log("Application.dataPath"+Application.dataPath);Debug.Log("Application.dataPath"+Application.dataPath+"/Readme");Debug.Log("Application.persistentDataPath"+Application.persistentDataPath);Debug.Log("Application.streamingAssetsPath"+Application.streamingAssetsPath);Debug.Log("Application.temporaryCachePath"+Application.temporaryCachePath);}// Update is called once per framevoid Update(){}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/10518.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Redis】hash 类型的介绍和常用命令

1. 介绍 Redis 中存储的 key-value 本身就是哈希表的结构&#xff0c;存储的 value 也可以是一个哈希表的结构 这里每一个 key 对应的一个 哈希类型用 field-value 来表示 2. 常用命令 命令 介绍 时间复杂度 hset key field value 用于设置哈希表 key 中字段 field 的值为…

基于51单片机和WS2812B彩色灯带的流水灯

目录 系列文章目录前言一、效果展示二、原理分析三、各模块代码四、主函数总结 系列文章目录 前言 用彩色灯带按自己想法DIY一条流水灯&#xff0c;谁不喜欢呢&#xff1f; 所用单片机&#xff1a;STC15W204S &#xff08;也可以用其他1T单片机&#xff0c;例如&#xff0c;S…

力扣017_最小覆盖字串题解----C++

题目描述 我们可以用滑动窗口的思想解决这个问题。在滑动窗口类型的问题中都会有两个指针&#xff0c;一个用于「延伸」现有窗口的 r 指针&#xff0c;和一个用于「收缩」窗口的 l 指针。在任意时刻&#xff0c;只有一个指针运动&#xff0c;而另一个保持静止。我们在 s 上滑动…

如何从客观角度批判性阅读分析博客

此文仅以个人博客为例&#xff0c;大量阅读朋友反馈给我的交流让我得知他们所理解我的博客所表达的意思并非我所想表达的&#xff0c;差异或大或小&#xff0c;因人而异。 观点与事实 只有从客观角度反复批判性阅读和分析&#xff0c;才能逐渐清晰观点和事实。 观点不等于事实…

深入理解MySQL 的 索引

索引是一种用来快速检索数据的一种结构, 索引使用的好不好关系到对应的数据库性能方面, 这篇文章我们就来详细的介绍一下数据库的索引。 1. 页面的大小: B 树索引是一种 Key-Value 结构&#xff0c;通过 Key 可以快速查找到对应的 Value。B 树索引由根页面&#xff08;Root&am…

Spring Boot项目如何使用MyBatis实现分页查询及其相关原理

写在前面&#xff1a;大家好&#xff01;我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正&#xff0c;感谢大家的不吝赐教。我的唯一博客更新地址是&#xff1a;https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油&#xff0c;冲鸭&#x…

LabVIEW温度修正部件测试系统

LabVIEW温度修正部件测试系统 这个基于LabVIEW的温度修正部件测试系统旨在解决飞行器温度测量及修正电路的测试需求。该系统的意义在于提供一个可靠的测试平台&#xff0c;用于评估温度修正部件在实际飞行器环境中的性能表现&#xff0c;从而确保飞行器的安全性和可靠性。 系统…

动态规划每日一练(四)

一、day1——最长数对链 题目链接&#xff1a; 646. 最长数对链 - 力扣&#xff08;LeetCode&#xff09;646. 最长数对链 - 给你一个由 n 个数对组成的数对数组 pairs &#xff0c;其中 pairs[i] [lefti, righti] 且 lefti < righti 。现在&#xff0c;我们定义一种 跟随…

对比category_encoders库和sklearn库中的OrdinalEncoder

OrdinalEncoder 是用来对数据中的分类特征进行编码、转换为整数标签的函数。 category_encoders库 from category_encoders import OrdinalEncoder 安装&#xff1a;pip install category_encoders --trusted-host pypi.tuna.tsinghua.edu.cn&#xff08;记得关闭代理&#x…

【PLL】杂散生成和调制

时钟生成 --》 数字系统 --》峰值抖动频率生成 --》无线系统 --》 频谱纯度、 周期信号的相位不确定性 随机抖动&#xff08;random jitter, RJ&#xff09;确定性抖动&#xff08;deterministic jitter,DJ&#xff09; 时域频域随机抖动积分相位噪声确定性抖动边带 杂散生成和…

理解神经网络:Brain.js 背后的核心思想

温馨提示 这篇文章篇幅较长,主要是为后续内容做铺垫和说明。如果你觉得文字太多,可以: 先收藏,等后面文章遇到不懂的地方再回来查阅。直接跳读,重点关注加粗或高亮的部分。放心,这种“文字轰炸”不会常有的,哈哈~ 感谢你的耐心阅读!😊 欢迎来到 brain.js 的学习之旅!…

Ubuntu下的Doxygen+VScode实现C/C++接口文档自动生成

Ubuntu下的DoxygenVScode实现C/C接口文档自动生成 Chapter1 Ubuntu下的DoxygenVScode实现C/C接口文档自动生成1、 Doxygen简介1. 安装Doxygen1&#xff09;方法一&#xff1a;2&#xff09;方法二&#xff1a;2. doxygen注释自动生成插件3. doxygen注释基本语法4. doxygen的生成…

Java内存模型 volatile 线程安全

专栏系列文章地址&#xff1a;https://blog.csdn.net/qq_26437925/article/details/145290162 本文目标&#xff1a; 认识JMM认识volatile关键字&#xff1a;可见性和顺序性理解线程安全的概念 目录 Java内存模型可见性例子和volatilevolatile如何保证可见性原子性与单例模式…

【Proteus仿真】【51单片机】多功能计算器系统设计

目录 一、主要功能 二、使用步骤 三、硬件资源 四、软件设计 五、实验现象 联系作者 一、主要功能 1、LCD1602液晶显示 2、矩阵按键​ 3、加减乘除&#xff0c;开方运算 4、带符号运算 5、最大 999*999 二、使用步骤 基于51单片机多功能计算器 包含&#xff1a;程序&…

three.js+WebGL踩坑经验合集(4.1):THREE.Line2的射线检测问题(注意本篇说的是Line2,同样也不是阈值方面的问题)

上篇大家消化得如何了&#xff1f; 笔者说过&#xff0c;1级编号不同的两篇博文相对独立&#xff0c;所以这里笔者还是先给出完整代码&#xff0c;哪怕跟&#xff08;3&#xff09;没有太大区别。 这里我们把线的粗细调成5&#xff08;排除难选中的因素&#xff09;&#xff…

SAP内向交货单详解

【SAP系统研究】 #SAP #交货单 #内向交货单 一、内向交货单的概念 内向交货单,Inbound Delivery,是SAP系统中用于管理外部供应商或内部工厂向公司发货的文档。它记录了货物从供应商到公司仓库或生产地点的运输和接收过程。 内向交货单的主要功能有: (1)货物接收:用于…

扩展无限可能:Obsidian Web Viewer插件解析

随着 Obsidian 1.8.3 正式版的发布&#xff0c;备受期待的官方核心插件——Web Viewer 也终于上线。本文将从插件启用、设置以及应用场景三个方面详细介绍如何使用这一新功能&#xff0c;和大家一起更好地利用 Obsidian 进行内容管理和知识整理。 插件启用 Web Viewer作为官方…

如何在 ACP 中建模复合罐

概括 本篇博文介绍了 ANSYS Composite PrepPost (ACP) 缠绕向导。此工具允许仅使用几个条目自动定义高压罐中常见的悬垂复合结构。 ACP 绕线向导 将必要的信息输入到绕组向导中。重要的是要注意“参考半径”&#xff0c;它代表圆柱截面的半径&#xff0c;以及“轴向”&#x…

本地搭建deepseek-r1

一、下载ollama(官网下载比较慢&#xff0c;可以找个网盘资源下) 二、安装ollama 三、打开cmd&#xff0c;拉取模型deepseek-r1:14b(根据显存大小选择模型大小&#xff09; ollama pull deepseek-r1:14b 四、运行模型 ollama run deepseek-r1:14b 五、使用网页api访问&#x…

OpenCV:闭运算

目录 1. 简述 2. 用膨胀和腐蚀实现闭运算 2.1 代码示例 2.2 运行结果 3. 闭运算接口 3.1 参数详解 3.2 代码示例 3.3 运行结果 4. 闭运算的应用场景 5. 注意事项 相关阅读 OpenCV&#xff1a;图像的腐蚀与膨胀-CSDN博客 OpenCV&#xff1a;开运算-CSDN博客 1. 简述…