0

一部のデータを XML ファイルに保存したいので、このチュートリアルを試しています: http://msdn.microsoft.com/en-us/library/bb203924.aspx

SaveGameDataしかし、クラスで次のエラー メッセージが表示されます。

IAsyncResult result = device.BeginOpenContainer("StorageDemo", null, null);

名前空間には、フィールドやメソッドなどのメンバーを直接含めることはできません

XmlSerializer serializer = new XmlSerializer(typeof(SaveGameData)); 

予期されるクラス、デリゲート、列挙型、インターフェイス、または構造体

なにが問題ですか?

また、ファイルに何かを書き込む方法がわかりません。たとえば、プレイヤーが Escape キーを押した場合に、スコアをセーブ ゲーム ファイルに保存したいとします。どうやってやるの?

public struct SaveGameData
    {
        public string PlayerName;
        public Vector2 AvatarPosition;
        public int Level;
        public int Score;
    }
    // Open a storage container.
IAsyncResult result = device.BeginOpenContainer("StorageDemo", null, null);

// Wait for the WaitHandle to become signaled.
result.AsyncWaitHandle.WaitOne();

StorageContainer container = device.EndOpenContainer(result);

// Close the wait handle.
result.AsyncWaitHandle.Close();

string filename = "savegame.sav";

// Check to see whether the save exists.
if (container.FileExists(filename))
   // Delete it so that we can create one fresh.
   container.DeleteFile(filename);

// Create the file.
Stream stream = container.CreateFile(filename);

// Convert the object to XML data and put it in the stream.
XmlSerializer serializer = new XmlSerializer(typeof(SaveGameData));
  serializer.Serialize(stream, data);

// Close the file.
stream.Close();

// Dispose the container, to commit changes.
container.Dispose();

// Open a storage container.
IAsyncResult result =
    device.BeginOpenContainer("StorageDemo", null, null);

// Wait for the WaitHandle to become signaled.
result.AsyncWaitHandle.WaitOne();

StorageContainer container = device.EndOpenContainer(result);

// Close the wait handle.
result.AsyncWaitHandle.Close();

string filename = "savegame.sav";

// Check to see whether the save exists.
if (!container.FileExists(filename))
{
   // If not, dispose of the container and return.
   container.Dispose();
   return;
}

// Open the file.
Stream stream = container.OpenFile(filename, FileMode.Open);

XmlSerializer serializer = new XmlSerializer(typeof(SaveGameData));

SaveGameData data = (SaveGameData)serializer.Deserialize(stream);

// Close the file.
stream.Close();

// Dispose the container.
container.Dispose();
4

0 に答える 0