そのため、ゲームを 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();
}
}