gpt4 book ai didi

C# 从字符串中解析 Vector2

转载 作者:行者123 更新时间:2023-12-02 05:39:49 26 4
gpt4 key购买 nike

我正在尝试将 Vector2 作为字符串从文本文件中读取,然后对其进行解析,从而将其加载到我的游戏中。但是当我尝试加载此信息时,出现此异常:

未处理格式异常。输入字符串的格式不正确。

文本文件:

{X:512 Y:384}

代码:

System.IO.StreamReader objReader;
objReader = new System.IO.StreamReader(@fileName + ".txt");

string pos = objReader.ReadLine();

float aXPosition = float.Parse(pos.Substring(pos.IndexOf("X:"), pos.IndexOf(" Y")));
float aYPosition = float.Parse(pos.Substring(pos.IndexOf("Y:"), pos.IndexOf("}")));

所以我要做的是从文本文件中读取 X 和 Y 位置。我在这里找到了这项技术:http://social.msdn.microsoft.com/Forums/sk/xnagamestudioexpress/thread/fd94cfec-f1f4-4cab-aa1d-8c72b524875b

看起来很简单,但出于某种原因,它对我不起作用。任何帮助将不胜感激!

最佳答案

我认为您应该改用XmlSerializer,这样工作会少很多。

例如:

class MySaveGame
{
public Vector2 Point1 { get; set; }
public Vector2 Point2 { get; set; }
}

保存:

XmlSerializer serializer = new XmlSerializer(typeof(MySaveGame));
using (var stream = File.Create(@"C:\yourpath.xml"))
{
serializer.Serialize(stream, new MySaveGame { Point1 = new Vector2(3, 3) });
}

阅读:

using (var stream = File.OpenRead(@"C:\yourpath.xml"))
{
var mySave = serializer.Deserialize(stream) as MySaveGame;
}

那不是我想出来的,仔细检查我的代码

关于C# 从字符串中解析 Vector2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11170541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com