我在保存到二進制文件時遇到了一些問題。保存XNA類列表
我需要將我的遊戲信息保存到二進制文件並在遊戲加載時加載它。我試圖讓所有將要保存的信息上課,然後保存。
它看起來像這樣:
public struct SaveGameData
{
public List<Chunk> chunkList;
public string saveName;
public string playerName;
public Vector2 playerPosition;
}
的問題是大塊的列表...它不序列和,因爲它包含XNA類的引用的類不能序列化。
我保存數據的功能如下:
public static void saveGame(string mSaveFileName, SaveGameData data)
{
saveFileName = mSaveFileName;
if (!Directory.Exists(saveFilePath))
{
Directory.CreateDirectory(saveFilePath);
}
FileStream stream = File.Open(saveFilePath + saveFileName + ".dat", FileMode.OpenOrCreate, FileAccess.Write);
data.saveName = saveFileName;
formatter.Serialize(stream, data);
stream.Close();
}
如何類的實例保存到文件,然後再念嗎?
好吧,它不是那麼簡單,只要調用序列化,一切都完成了。你必須正確決定並讓你的課程可序列化。請參閱[this](http://msdn.microsoft.com/zh-cn/library/ms233843.aspx)以獲取更多信息。一個最後的建議,只是序列化非常簡單的數據。如果你想序列化像Texture這樣的複雜類,這是行不通的。如果你的XNA類是Vectors和Matrix,你應該沒問題。 – dowhilefor
你可以給'Chunk'定義嗎? – Seb