이진 파일에 저장하는 데 문제가 있습니다.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();
}
어떻게 파일에 클래스의 인스턴스를 저장합니까 다음 나중에 읽어?
그럼 jsut 호출을 serialize하지 않고 모든 것이 완료됩니다. 클래스를 올바르게 결정하고 직렬화 할 수 있어야합니다. 자세한 내용은 [this] (http://msdn.microsoft.com/en-us/library/ms233843.aspx)를 참조하십시오. 하나의 마지막 조언은 매우 간단한 데이터를 직렬화합니다. 텍스처와 같은 복잡한 클래스를 직렬화하려는 경우에는 작동하지 않습니다. XNA 클래스가 벡터 및 매트릭스 인 경우 잘해야합니다. – dowhilefor
'청크 (Chunk) '정의를 줄 수 있습니까? – Seb