作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的游戏中,我使用序列化将几个数组和变量保存到磁盘上的文件中。一切都很好。
但在我尝试构建 iOS 后,它拒绝保存,并且 Xcode 调试器显示 - “文件名尚不支持”。
我该如何解决这个问题?
这是保存和加载数据的代码:
public void SaveState()
{
BinaryFormatter bf = new BinaryFormatter();
FileStream file = File.Create(Application.persistentDataPath + saveFileName);
bf.Serialize(file, this);
file.Close();
}
public static GlobalState LoadState()
{
if (File.Exists(Application.persistentDataPath + saveFileName)) {
BinaryFormatter bf = new BinaryFormatter();
FileStream file = File.Open(Application.persistentDataPath + saveFileName, FileMode.Open);
GlobalState result = (GlobalState)bf.Deserialize(file);
file.Close();
return result;
}
return null;
}
这是我的序列化函数:
// Deserialization function
public GlobalState(SerializationInfo info, StreamingContext ctxt)
{
lastBossKilled = (int)info.GetValue("lastBoss", typeof(int));
currentlySelectedSpells = (SpellType[])info.GetValue("spells", typeof(SpellType[]));
learnedTalents = (int[])info.GetValue("talents", typeof(int[]));
talentPointsAvailable = (int)info.GetValue("talentPoints", typeof(int));
}
//Serialization function.
public void GetObjectData(SerializationInfo info, StreamingContext ctxt)
{
info.AddValue("lastBoss", lastBossKilled);
info.AddValue("spells", currentlySelectedSpells);
info.AddValue("talents", learnedTalents);
info.AddValue("talentPoints", talentPointsAvailable);
}
我考虑过改用用户默认值,但我不能在那里保存数组。
我的文件名是这样构造的:
private static string saveFileName = "045.bin";
new StreamWriter(Application.persistentDataPath + saveFileName)
最佳答案
slash文件路径中缺少。将其更改为:
new StreamWriter(Application.persistentDataPath + "/" + saveFileName)
像 iOS 这样严格的沙盒系统会禁止这样做,因为它会在你的沙盒根文件夹旁边创建一个文件,但错误消息可能比“文件名尚不支持”更好,这是相当缺少领先......
关于c# - iOS 上的 Unity 5.1 序列化 - 尚不支持 IL2CPP 文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31893166/
我需要面对一个架构/设计决策。 我正在开发一个 Cordova/Meteor 应用程序,它具有独特的入门体验。新用户会看到一个向导,引导他们完成填写某些表单的步骤。 向导流程会等到最后一步才能注册用户
我想通过 psql 在空数据库中加载一些 SQL 函数: psql -d my_database -f fuctions.sql --set ON_ERROR_STOP=1 我使用 --set ON_
我是一名优秀的程序员,十分优秀!