阿罗哈,首先,对不起我的英语知识^^''但我希望你能理解:)
我正在尝试从我的XML文件中读取信息(使用LinqXML)并将其用作未来的变量。
这是我目前正在使用的XML文件的剪辑
<objectgroup name="Object Layer">
<object id="17" name="A" x="513" y="95" width="510" height="62"/>
<object id="18" name="B" x="610" y="273" width="476" height="142"/>
<object id="19" name="C" x="609" y="432" width="320" height="175"/>
<object id="20" name="D" x="254" y="160" width="33" height="32"/>
<object id="21" name="E" x="244" y="160" width="33" height="32"/>
</objectgroup>
现在我正试图从中获取信息......
public void ObjectCollision()
{
var collisionObjects = from q in xmlDoc.Descendants("object")
select new
{
id = (int) q.Attribute("id"),
xCoordinates = (int) q.Attribute("x"),
yCoordinates = (int) q.Attribute("y"),
width = (int) q.Attribute("width"),
height = (int) q.Attribute("height")
};
目前,我想将此信息用作我的变量:) 此时,我想将我的变量用作Drawing的坐标。
foreach (var cobj in collisionObjects)
{
invisTexture = new Texture("Resources/Map/NotVisible.png");
collisionSprite = new Sprite(invisTexture);
CollisionRect.TextureRect = new IntRect(cobj.xCoordinates, cobj.yCoordinates, cobj.width, cobj.height);
collisionSprite.TextureRect = CollisionRect.TextureRect;
}
但每当我尝试开始时,我都会收到System.NullReferenceException
错误^^ ..
调试器告诉我,我的cobj
实际上有正确的信息,而简单Console.WriteLine
与这些变量完美配合。
那么,我做错了什么? :)
答案 0 :(得分:0)
啊......我忘记了CollisionRect = new RectangleShape(); ^^&#39;&#39;是的,我想睡觉的时间......不管怎样,谢谢你的帮助:)