我认为有一种方法可以通过Wi-Fi测试您的应用程序.这可能吗?
我希望能够取消我的手机并进行无线开发.
我找到了在Unity3D游戏引擎中保存游戏数据的最佳方法.
首先,我使用了序列化对象BinaryFormatter.
但我听说这种方式存在一些问题,不适合保存.
那么,保存游戏状态的最佳或推荐方法是什么?
在我的例子中,保存格式必须是字节数组.
当我从编辑器运行游戏并保存加载数据时,我发现数据在:C:\Users\User\AppData\LocalLow\DefaultCompany\projectname\data.
当我构建它并获得可执行文件时,该数据仍可正常加载,但如果我保存并重新启动,则不会保存.但是当我从编辑器中启动它时它会这样做.
这是我的代码中的错误,还是我不从Unity Editor运行它的其他地方的文件?
稍后当我导出游戏以启动游戏时,我会拥有持久数据I Json文件,这些文件必须与游戏一起使用才能运行.
为清楚起见,这里是处理Json的保存/加载的类:
public class DataHandler
{
//Save Data
public static void saveData<T>(T dataToSave, string dataFileName)
{
string tempPath = Path.Combine(Application.persistentDataPath, "data");
tempPath = Path.Combine(tempPath, dataFileName + ".txt");
//Convert To Json then to bytes
string jsonData = JsonUtility.ToJson(dataToSave, true);
byte[] jsonByte = Encoding.ASCII.GetBytes(jsonData);
//Create Directory if it does not exist
if (!Directory.Exists(Path.GetDirectoryName(tempPath)))
{
Directory.CreateDirectory(Path.GetDirectoryName(tempPath));
}
//Debug.Log(path);
try
{
File.WriteAllBytes(tempPath, jsonByte);
Debug.Log("Saved Data to: " + tempPath.Replace("/", "\\"));
}
catch (Exception e)
{ …Run Code Online (Sandbox Code Playgroud)