1 using System.Collections;
2 using System.Collections.Generic;
3 using UnityEngine;
4 using System.IO;
5 using System.Runtime.Serialization.Formatters.Binary;//重点
6
7 public class GameSaveManager : MonoBehaviour
8 {
9 public Inventory myInventory;//需要保存的数据
10 public Item HpMedicine;//需要保存的数据
11 public Item MpMedicine;//需要保存的数据
12
13 public void SaveGame() //保存游戏方法
14 {
15 Debug.Log(Application.persistentDataPath);
16 //Debug.Log(12);
17 if (!Directory.Exists(Application.persistentDataPath + "/game_SaveGame"))
18 {
19 //Debug.Log(13);
20 Directory.CreateDirectory(Application.persistentDataPath + "/game_SaveGame");
21 }
22
23 BinaryFormatter formatter = new BinaryFormatter();//二进制转换
24
25 FileStream file = File.Create(Application.persistentDataPath + "/game_SaveGame/Inventory.txt");
26
27 var json0 = JsonUtility.ToJson(myInventory);//需要保存的数据Json转换
28 var json1 = JsonUtility.ToJson(HpMedicine);//需要保存的数据Json转换
29 var json2 = JsonUtility.ToJson(MpMedicine);//需要保存的数据Json转换
30
31 formatter.Serialize(file, json0);//保存的数据
32 formatter.Serialize(file, json1);//保存的数据
33 formatter.Serialize(file, json2);//保存的数据
34
35 file.Close();
36 }
37 public void LoadGame()//读取游戏方法
38 {
39 BinaryFormatter bf = new BinaryFormatter();
40
41 if (File.Exists(Application.persistentDataPath + "/game_SaveGame/Inventory.txt"))
42 {
43 FileStream file = File.Open(Application.persistentDataPath + "/game_SaveGame/Inventory.txt", FileMode.Open);
44
45 JsonUtility.FromJsonOverwrite((string)bf.Deserialize(file), myInventory);//保存的数据
46 JsonUtility.FromJsonOverwrite((string)bf.Deserialize(file), HpMedicine);//保存的数据
47 JsonUtility.FromJsonOverwrite((string)bf.Deserialize(file), MpMedicine);//保存的数据
48
49 file.Close();
50 }
51
52 }
53 public void ExitGame()//退出游戏方法
54 {
55
56 }
57
58
59 }

Unity 保存游戏,读取游戏,退出游戏的更多相关文章

  1. 使用Unity创建塔防游戏(Part2)

    How to Create a Tower Defense Game in Unity – Part 2 原文地址:https://www.raywenderlich.com/107529/unity ...

  2. 使用Unity创建塔防游戏(Part1)

    How to Create a Tower Defense Game in Unity - Part1 原文作者:Barbara Reichart 文章原译:http://www.cnblogs.co ...

  3. 使用Unity创建塔防游戏(Part3)—— 项目总结

    之前我们完成了使用Unity创建塔防游戏这个小项目,在这篇文章里,我们对项目中学习到的知识进行一次总结. Part1的地址:http://www.cnblogs.com/lcxBlog/p/60759 ...

  4. unity 通过JsonUtility实现json数据的本地保存和读取

    本文主要讲解json数据在本地的保存和读取,使用的是unity5之后提供的JsonUtility工具. 一.关于json数据的保存 在实际开发中,有时候可能涉及到大量数据保存到本地,以便于下次客户端的 ...

  5. [Android游戏开发]游戏框架的搭建

    通常情况下,游戏开发的基本框架中,一般包括以下模块: 窗口管理(Window management):该模块负责在Android平台上创建.运行.暂停.恢复游戏界面等功能. 输入模块(Input):该 ...

  6. Unity3D游戏-愤怒的小鸟游戏源码和教程(二)

    Unity愤怒的小鸟游戏教程(二) 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) AngryEva游戏效果 ...

  7. Unity3D游戏-愤怒的小鸟游戏源码和教程(一)

    Unity愤怒的小鸟游戏教程 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) AngryEva游戏效果: 1 ...

  8. (NO.00005)iOS实现炸弹人游戏(八):游戏主角(一)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 最近一直在做另一个RPG游戏,所以本系列迟迟没有更新,上一篇博 ...

  9. iOS 保存、读取与应用状态

    固化 对于大多数iOS应用,可以将其功能总结为:提供一套界面,帮助用户管理特定的数据.在这一过程中,不同类型的对象要各司其职:模型对象负责保存数据,视图对象负责显示数据,控制器对象负责在模型对象与视图 ...

随机推荐

  1. [原题复现]2018护网杯(WEB)easy_tornado(模板注入)

    简介 原题复现:  考察知识点:模板注入  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 [护网杯 2018]eas ...

  2. JS你所不知的小数取整方法

    先介绍几种基本方法. 1.toFixed()方法 toFixed() 方法是属于 Number 对象的方法,可以把 Number 四舍五入到指定的小数位数,括号内为小数位数,范围为0~20,为0时即取 ...

  3. python办公入门3:xlrd操作工作表

    工作表 1 import xlrd 2 3 #接受工作表 4 data=xlrd.open_workbook("data.xlsx") 5 #查询第一个工作表的打开状态 6 pri ...

  4. 如何让文科生5分钟写上Python

    序言 这篇文章是转型后发表的第一篇文章,有必要先聊一下我的写文计划. 串行文章和并行文章 我会按照发文顺序分为串行文章和并行文章.Python 语言本身的内容,我会按照入门.进阶.原理的顺序依次展开. ...

  5. 用FL Studio基础版制作一首完整的电音

    电音制作,自然少不了适合做电音的软件,市面上可以进行电音制作的软件不少,可是如果在这些软件中只能选择一款的话,想必多数人会把票投给FL Studio,毕竟高效率是永远不变的真理,今天就让我们来看看如何 ...

  6. K8ssandra——专为Kubernetes云原生数据而生

    DataStax最近发布了K8ssandra--一个开源的.部署于Kubernetes上的Apache Cassandra全新发行版本.K8ssandra一站式集合了在Kubernetes上部署开源版 ...

  7. 【证书】curl 和 java 请求报证书错误

    1. 说明: 以下:例子的域名因为工作环境的问题,被我拿自己的博客域名替代了,所以无法进行模拟测试,请珍重,哈哈! 2. 环境: centos:7.5 java jdk:1.8.0_74 3. cur ...

  8. 03-Python里字符串的常用操作方法二

    1.lstrip():删除左侧空白字符 实例: my_str = ' hello world and my and test and python ' # 原始字符串 print(my_str) # ...

  9. linux查看内存及磁盘使用情况

    1.查看当前目录 命令:   df -h       (统一每个目录下磁盘的整体情况) 2.查看指定目录 在命令后直接放目录名,比如查看"usr"目录使用情况: 命令:   df ...

  10. Vue+EasyPOI导出Excel(带图片)

    一.前言 平时的工作中,Excel 导入导出功能是非常常见的功能,无论是前端 Vue (js-xlsx) 还是 后端 Java (POI),如果让大家手动编码实现的话,恐怕就很麻烦了,尤其是一些定制化 ...