Я все еще новичок здесь ... Я попробовал учебник из Интернета, о том, как загрузить XML в игровую студию XNA
мой код так:
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using System.IO;
namespace textInput
{
public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
SpriteFont SpriteFont1;
string credits;
public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
}
protected override void Initialize()
{
base.Initialize();
}
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
SpriteFont1 = Content.Load<SpriteFont>("SpriteFont1");
}
protected override void UnloadContent()
{
}
public string LoadFromFile()
{
using (System.Xml.XmlReader reader = System.Xml.XmlReader.Create("XMLFile1.xml"))
{
reader.MoveToContent();
reader.ReadToFollowing("credit");
credits = reader.ReadInnerXml();
}
return credits;
}
protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
base.Update(gameTime);
}
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
spriteBatch.Begin();
spriteBatch.DrawString(SpriteFont1, credits, new Vector2(20, 40), Color.White);
spriteBatch.End();
base.Draw(gameTime);
}
}
}
икогда я отлаживал его, ArgumentNullException был необработанным отображением окна на «spriteBatch.DrawString (SpriteFont1, credits, new Vector2 (20, 40), Color.White);» *
говорит: «Значение не может быть нулевым. Параметримя: текст "
кто-нибудь знает, как решить эту проблему ???