unity3d 如何在Unity游戏中为Play Games Services加载/保存带有已保存游戏的号码?

bjg7j2ky  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(182)

我需要加载/保存用户在我的Unity游戏中赢得的硬币数量和Play Games Services的已保存游戏。
此页面上有一个关于如何保存图像的示例:wwwhttps://developer.android.com/games/pgs/unity/saved-games#write_a_saved_game
有人能告诉我如何加载/保存数字而不是图像吗?

gjmwrych

gjmwrych1#

准确地说,我不会说你确实保存了一张图片。我的意思是,你确实保存了它,但只是作为你的游戏保存文件的一个封面,我不知道你是否可以检索它(也许你可以,我还没有真正检查过)。
也许使用Google Play保存系统最重要的部分是byte[] savedData参数,它只是一个字节数组,你要传递什么,以及如何在游戏加载时解释这些数据。
有很多方法可以实现它。我个人创建了一个自定义的GameSave对象,其中包含我想要保存的所有数据,然后我使用JsonUtility序列化它。

string json = JsonUtility.ToJson(gameSave);

然后,我使用MemoryStreamBinaryFormatter将json中的数据转换为字节数组:

MemoryStream memoryStream = new MemoryStream();
BinaryFormatter binaryFormatter = new BinaryFormatter();

binaryFormatter.Serialize(memoryStream, json);
byte[] data = memoryStream.GetBuffer();

然后必须将该数据作为参数传递给savedGameClient.CommitUpdate方法。
当然,这只是其中一种方法,你可以从序列化的类对象发送json以外的东西。
其他的东西都有很好的记录,所以一旦你处理好了,你应该设法做剩下的。

相关问题