此问题与this.
有些类似就我而言,我有一个文本文件。由于没有适用于文本文件的内容导入器,我必须使用流读取器编写自己的函数。我想要完成的是从文本文件中读取,并相应地在选项屏幕中设置一些值。我添加了所有必需的引用,但使用“../options.txt”作为文件路径不起作用。很可能文件路径被解析为除Content文件夹之外的其他内容。我该如何处理呢?
另外,我收到的错误是“尝试访问方法(System.IO .... ctor)失败”。我是否缺少添加其他参考资料?
答案 0 :(得分:0)
这是否必须在xBox 360上运行?如果是这样,就不可能像在Windows中那样使用文件系统,则需要使用存储设备。老实说,无论如何我都会使用这种方法,所以如果你决定把你的游戏带到WP7或360,它就会起作用。
有一个很好的演示游戏可以加载和保存this Microsoft页面上的数据,以及它正在做什么的描述
这是从演示中获取的,它显示了如何打开存储容器并将一些配置数据序列化到它,加载操作就这么简单。
// Create the data to save.
SaveGameData data = new SaveGameData();
data.PlayerName = "Hiro";
data.AvatarPosition = new Vector2(360, 360);
data.Level = 11;
data.Score = 4200;
// 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();