Unity UGUI之游戏存档方式使用.asset作为存档文件
发表于2018-08-20
都知道XML和JSON是游戏存档的存储的标配,那么.asset能不能作为存档存储游戏数据呢?本文就.asset能不能作为存档存储游戏数据进行探讨。
.asset不能作为游戏存档来使用。因为再次启动.exe的时候,数据会恢复初始化。
在编辑器中测试。
DataSave.cs
using System.Collections; using System.Collections.Generic; using UnityEngine; [CreateAssetMenu(fileName = "New DataSave", menuName = "DataSave/DataSave")] public class DataSave : ScriptableObject { public string name; }
DataSaveManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class DataSaveManager : MonoBehaviour {
public string null_str;
public Text text;
public InputField inputField;
public Text text_Data;//存档DataSave的内容
public DataSave[] dataSave;
public DataSave select_dataSave = null;
public int value = -1;
#region Singleton
public static DataSaveManager instance;
private void Awake()
{
instance = this;
}
#endregion
private void selectDataSave(int int_value)
{
select_dataSave = dataSave[int_value];
value = int_value;
}
public void selectDataSave_1()
{
selectDataSave(0);
}
public void selectDataSave_2()
{
selectDataSave(1);
}
public void selectDataSave_3()
{
selectDataSave(2);
}
public void selectDataSave_4()
{
selectDataSave(3);
}
public void selectDataSave_5()
{
selectDataSave(4);
}
public void saveDataSave()//Button_Save
{
Debug.Log(" "+ inputField.text);
if (inputField.text == null)
{
text.text = "NO input,please try again.";
}
else if (inputField.text != null)
{
text.text = inputField.text;
dataSave[value].name = inputField.text;
}
}
public void readDataSave()//Button_Read
{
if (select_dataSave == null
&& value == -1)
{
text_Data.text = "NO select DataSave,please try again";
}
else if (select_dataSave != null
&& value != -1)
{
text_Data.text = select_dataSave.name;
}
}
public void changeText()//InputField
{
if (text != null
&& inputField != null
)
{
//text.text = inputField.text;
}
}
}
在编辑器中成功了,接下来在.exe中测试。
如果在编辑器中,改变DataSave_1.asset和DataSave_2.asset的组件DataSave的变量Name。
记得改变一下。
.asset不能作为游戏存档来使用。因为再次启动.exe的时候,数据会恢复初始化。
来自:https://blog.csdn.net/BuladeMian/article/details/81669085