我是新来的,我的项目有问题
我的项目是一个c#控制台游戏,混合了xna游戏
我的项目的问题是,我添加了一个内容文件夹来加载xna精灵等,但每次我运行它,它显示,文件没有找到纹理加载。
我试图查看问题是否是路径,但不是。我认为不会识别内容文件夹,换句话说,它会因为它不存在而受到威胁。
我试图在谷歌搜索,但它一直给我奇怪的结果,
我在这个网站上搜索了解决方案,但这些都不是我想要的
如何让它识别我的内容文件夹,以便能够在其上加载精灵和其他东西?
public class Game : Microsoft.Xna.Framework.Game
{
public GraphicsDeviceManager graphics;
public SpriteBatch spriteBatch;
public Game()
{
graphics = new GraphicsDeviceManager(this);
graphics.PreferredBackBufferWidth = 640;
graphics.PreferredBackBufferHeight = 480;
graphics.IsFullScreen = false;
Content.RootDirectory = "Content";
}
protected override void Initialize()
{
base.Initialize();
}
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
Program.TestPlayer = Content.Load<Texture2D>("characters/blue"); //Here is where gives the error
Program.Tiles = Content.Load<Texture2D>("tiles"); //this gives error if the above script is commented.
}
protected override void UnloadContent()
{
}
protected override void Update(GameTime gameTime)
{
switch (Procedures.gmode)
{
case GameMode.ExplorationMode:
Exploration.ExplorationMode();
break;
default:
this.EndRun();
return;
}
base.Update(gameTime);
}
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.White);
spriteBatch.Begin();
switch (Procedures.gmode)
{
case GameMode.ExplorationMode:
Exploration.DrawMap();
Procedures.player.DrawTamer(spriteBatch);
break;
}
spriteBatch.End();
base.Draw(gameTime);
}
}
答案 0 :(得分:1)
我必须做一些不同的事来解决这个问题,除了......不推荐,有点烦人
我不得不在xna上创建另一个项目,并将内容文件传递给xna文件,然后将内容文件夹移动到我的项目文件夹中。
除了烦人之外,它至少还在起作用。
答案 1 :(得分:0)
听起来问题是某些设置不对。
确保在&#34;内容参考&#34;中提及内容项目。在你的主项目中。
并确保&#34;内容根目录&#34;在内容项目中设置为&#34;内容&#34; (或与您的&#34; Content.RootDirectory =&#39;内容&#39;;&#34;设置为相同)。
通过&#34;我的项目问题,是我添加了一个内容文件夹&#34;听起来你在xna项目中添加了一个普通的文件夹,但是你需要使用一个Content项目,以便编译和引用你的资源。
<小时/> 的修改
根据您的图片,您似乎没有 xna游戏项目 ,但 正常项目 即可。 尝试制作 xna项目 ,然后将游戏文件放在那里,然后将 引用 添加到来自 xna游戏项目 的内容项目 (在制作xna游戏项目时,您将自动获得一个新的内容项目,这是一个新的内容项目。在xna游戏项目中,所以你可以使用它而不是旧版本,所以你不必弄乱设置,只需移动你的文件。)