Unity - Save Progress In Game?(Unity - 在游戏中保存进度?)
问题描述
您好,我正在使用 Unity3d 创建一个小游戏.但现在我无法保存一些变量.现在我正在使用以下代码
Hi I am creating a small game with Unity3d. But now I have trouble saving some variables. Now I am using the following code
void Awake(){
proiettili = PlayerPrefs.GetFloat ("PallottoleOgniSecondo");
}
void OnApplicationQuit(){
PlayerPrefs.SetFloat ("PallottoleOgniSecondo", proiettili);
PlayerPrefs.Save();
}
这样我可以保存变量,但只有当我尝试统一时,如果我尝试在 Android 上不起作用.你知道我该如何解决吗?
This way I can save the variable, but only when I try on unity, if I try does not work on Android. you know how I can fix?
推荐答案
这是一个名为 MyClass 的示例类的方法
This is how you do it for an example class called MyClass
using UnityEngine;
using System.Collections;
using System;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
[Serializable]
public class MyClass {
public int myInt;
public void Save(){
BinaryFormatter bf = new BinaryFormatter();
FileStream file = File.Create (FilePath());
bf.Serialize(file, this);
file.Close();
}
public void Load(){
if(File.Exists(FilePath())){
BinaryFormatter bf = new BinaryFormatter();
FileStream file = File.Open(FilePath(), FileMode.Open);
MyClass loaded = bf.Deserialize(file) as Brochure;
myInt = loaded.myInt;
}
}
static string FilePath()
{
return Application.persistentDataPath + "/myClass.dat";
}
}
这篇关于Unity - 在游戏中保存进度?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Unity - 在游戏中保存进度?
- C# 中多线程网络服务器的模式 2022-01-01
- 良好实践:如何重用 .csproj 和 .sln 文件来为 CI 创建 2022-01-01
- MoreLinq maxBy vs LINQ max + where 2022-01-01
- 输入按键事件处理程序 2022-01-01
- 带有服务/守护程序应用程序的 Microsoft Graph CSharp SDK 和 OneDrive for Business - 配额方面返回 null 2022-01-01
- Web Api 中的 Swagger .netcore 3.1,使用 swagger UI 设置日期时间格式 2022-01-01
- WebMatrix WebSecurity PasswordSalt 2022-01-01
- C#MongoDB使用Builders查找派生对象 2022-09-04
- 如何用自己压缩一个 IEnumerable 2022-01-01
- 在哪里可以找到使用中的C#/XML文档注释的好例子? 2022-01-01