所以我在将我的游戏转换为 XML/Linq 时遇到了麻烦,我需要这样做,因为项目已经扩展。这似乎是一个简单的问题,但是我加载到我的内容中的 XML 文件却没有找到。如果我尝试从目录加载 XML 文件,它可以正常工作,但是如何从项目中包含的内容文件加载?
我是否需要以某种方式应用 Content.Load 才能访问该文件,或者以不同的方式标记该文件?我目前已将标志设置为内容(未编译),内容导入器是 XML 内容 - XNA 框架,内容处理器 - 无需处理,复制到输出目录 - 始终复制。
谢谢您的帮助。我觉得有点笨,不得不问。我在有问题的行旁边放了 3 z。再次感谢!
class GameObject
{
public string objectType;
public string objectID;
public bool isActive;
}
struct option
{
public string optionName;
public string type;
public string command;
}
class TitleScreen : GameObject
{
XDocument TitleData;
public int totalOptions;
List<option> optionsShared = new List<option>();
int currentDrawObject;
public void Init(string TitleID)
{
objectType = "TitleScreen";
objectID = "Title";
isActive = true;
zzz TitleData = XDocument.Load("TitleData.xml"); zzz
var options =
from x in TitleData.Descendants("option")
select new
{
type = x.Descendants("otype").First().Value,
optionName = x.Descendants("oname").First().Value,
command = x.Descendants("ocommand").First().Value
};
foreach (var x in options)
{
optionsShared.Add( new option
{optionName = x.optionName,
type = x.type,
command = x.command
});
}
foreach (var option in options)
{
totalOptions += 1;
}
}
public void Draw(SpriteBatch sb, SpriteFont sf)
{
currentDrawObject = 0;
sb.Begin();
foreach (var option in optionsShared)
{
currentDrawObject += 1;
sb.DrawString(sf, option.optionName, new Vector2(50, 100 * currentDrawObject), Color.White);
}
sb.End();
}
}