unity3d保存文件到本地and加载本地文件
来源:互联网 发布:矩阵的乘法计算方法 编辑:程序博客网 时间:2024/05/18 19:19
Unity3D游戏本地存储
Unity3D游戏本地存储玩家积分。Unity提供了一个类似配置文件的类,可以非常好的实现信息数据的存储,那就是PlayerPrefs。它可以存储:int、float和string类型。
// 存进去PlayerPrefs.SetInt("key1", 10);PlayerPrefs.SetString("key2", aaaaaa);PlayerPrefs.SetFloat("key3", 10.009);// 取出来int i = PlayerPrefs.GetInt("key1");
001.using UnityEngine;002.using System.Collections;003.using System.IO;004.using System.Collections.Generic;005.using System;006. 007.public class Text : MonoBehaviour {008. //文本中每行的内容009. ArrayList infoall;010. //皮肤资源,这里用于显示中文011. public GUISkin skin;012. void Start ()013. {014. print("当前文件路径:"+Application.persistentDataPath);015. //删除文件016. DeleteFile(Application.persistentDataPath,"FileName.txt");017. 018. //创建文件,共写入3次数据019. CreateFile(Application.persistentDataPath,"FileName.txt","dingxiaowei");020. CreateFile(Application.persistentDataPath,"FileName.txt","丁小未");021. //CreateFile(Application.persistentDataPath ,"Filename.assetbundle","丁小未");022. //下载模型023. StartCoroutine(loadasset("http://192.168.1.180/3DShowResource/Products/AssetBundles/HX_DY02.assetbundle"));024. //得到文本中每一行的内容025. infoall = LoadFile(Application.persistentDataPath,"FileName.txt");026. 027. 028. }029. //写入模型到本地030. IEnumerator loadasset(string url)031. {032. WWW w = new WWW(url);033. yield return w;034. if (w.isDone)035. {036. byte[] model = w.bytes;037. int length = model.Length;038. //写入模型到本地039. CreateModelFile(Application.persistentDataPath, "Model.assetbundle", model,length);040. }041. }042. 043. void CreateModelFile(string path, string name, byte[] info, int length)044. {045. //文件流信息046. //StreamWriter sw;047. Stream sw;048. FileInfo t = new FileInfo(path + "//" + name);049. if (!t.Exists)050. {051. //如果此文件不存在则创建052. sw = t.Create();053. }054. else055. {056. //如果此文件存在则打开057. //sw = t.Append();058. return;059. }060. //以行的形式写入信息061. //sw.WriteLine(info);062. sw.Write(info, 0, length);063. //关闭流064. sw.Close();065. //销毁流066. sw.Dispose();067. }068. 069. /**070. * path:文件创建目录071. * name:文件的名称072. * info:写入的内容073. */074. void CreateFile(string path,string name,string info)075. {076. //文件流信息077. StreamWriter sw;078. FileInfo t = new FileInfo(path+"//"+ name);079. if(!t.Exists)080. {081. //如果此文件不存在则创建082. sw = t.CreateText();083. }084. else085. {086. //如果此文件存在则打开087. sw = t.AppendText();088. }089. //以行的形式写入信息090. sw.WriteLine(info);091. //关闭流092. sw.Close();093. //销毁流094. sw.Dispose();095. }096. 097. 098. 099. /**100. * 读取文本文件101. * path:读取文件的路径102. * name:读取文件的名称103. */104. ArrayList LoadFile(string path,string name)105. {106. //使用流的形式读取107. StreamReader sr =null;108. try{109. sr = File.OpenText(path+"//"+ name);110. }catch(Exception e)111. {112. //路径与名称未找到文件则直接返回空113. return null;114. }115. string line;116. ArrayList arrlist = new ArrayList();117. while ((line = sr.ReadLine()) != null)118. {119. //一行一行的读取120. //将每一行的内容存入数组链表容器中121. arrlist.Add(line);122. }123. //关闭流124. sr.Close();125. //销毁流126. sr.Dispose();127. //将数组链表容器返回128. return arrlist;129. } 130. 131. //读取模型文件132. IEnumerator LoadModelFromLocal(string path, string name)133. {134. print("file:///" + path + "/" + name);135. WWW w = new WWW("file:///"+path + "/" + name);136. yield return w;137. if (w.isDone)138. {139. Instantiate(w.assetBundle.mainAsset);140. }141. }142. 143. 144. /**145. * path:删除文件的路径146. * name:删除文件的名称147. */148. 149. void DeleteFile(string path,string name)150. {151. File.Delete(path+"//"+ name);152. }153. 154. void OnGUI()155. {156. //用新的皮肤资源,显示中文157. GUI.skin = skin;158. //读取文件中的所有内容159. foreach(string str in infoall)160. {161. //绘制在屏幕当中162. GUILayout.Label(str);163. }164. if (GUILayout.Button("加载模型"))165. {166. StartCoroutine(LoadModelFromLocal(Application.persistentDataPath, "Model.assetbundle"));167. }168. }169. 170.}
阅读全文
0 0
- [unity3d]保存文件到本地and加载本地文件
- [unity3d]保存文件到本地and加载本地文件
- unity3d保存文件到本地and加载本地文件
- unity3d保存文件到本地and加载本地文件
- [unity3d]保存文件到本地and加载本地文件
- 保存文件到本地and加载本地文件
- 保存文件到本地
- flex读取本地文件,修改,并保存到本地
- JS保存文件到本地
- Swift - 本地数据的保存与加载(使用NSCoder将对象保存到.plist文件)
- Swift - 本地数据的保存与加载(使用NSCoder将对象保存到.plist文件)
- php 下载保存文件保存到本地
- 获取程序所在文件路径及保存STREAM到本地文件
- 根据url地址下载文件到本地,返回本地文件地址
- 将文件下载到本地以及删除本地文件
- rdkafka 保存offset到本地文件
- C++保存数据到本地文件
- python保存数据到本地文件
- 第十三周 【项目1
- Linux常用指令
- 模糊图像退化与去模糊的数学模型
- <每日一题>最大回文子字符串
- springMVC容器和Spring容器
- unity3d保存文件到本地and加载本地文件
- Struts2的Ajax输入校验
- 【NOI 2015 软件包管理器】【树剖】
- 算法爱好者——删除数字 ? 待解决
- 有个疑问opencv保存的视频在哪里呢 如何去电脑文件里找到
- 中共中央办公厅 国务院办公厅印发《推进互联网协议第六版(IPv6)规模部署行动计划》
- AJAX处理数据提交到Servlet
- es6基础篇
- 每日一练-13