【问题标题】:C# XNA Loading in texturesC# XNA 加载纹理
【发布时间】:2014-08-31 02:39:21
【问题描述】:

我在将纹理加载到我的简单游戏中时遇到了很多问题。首先,当我在“Game1.cs”中时,我可以加载纹理。但是,我目前正在尝试创建一个关卡。所以我想在Level类中加载所有的图片。

public Level(IServiceProvider _serviceProvider)
{
    content = new ContentManager(_serviceProvider, "Content");
    mNrOfTextures = 3;
    mTextures[] = new Texture2D[mNrTextures];
    mTextures[0] = Content.Load<Texture2D>("sky");
    //And then more textures and other stuff..
}

但是程序永远找不到文件sky。我真的没有收到任何有用的错误消息,并且我目前正在远离任何教程。谁能指出我正确的方向?

文件的完整路径:C:\c++\ProjIV\ProjIV\ProjIVContent\

【问题讨论】:

  • 我通常从 game1.cs 传入 contentmanager 以充分利用缓存,但我猜你已经确认你的“天空”纹理在 Content 文件夹中?
  • 自从我完成任何 XNA 以来已经很久了,但我看到您使用的是静态 Content 而不是您的 ContentManager 实例。对吗?
  • 文件完整路径:C:\c++\ProjIV\ProjIV\ProjIVContent\ 编辑;我试过改变它,但似乎每次尝试都失败了。
  • 也猜mTextures[ = ...应该是mTextures = new Texture2D[mNrTextures];?
  • 这只是我手动输入代码,从我的笔记本电脑到固定装置。固定。

标签: c# xna textures


【解决方案1】:

我个人只是将我的ContentManager 传递给我的关卡类,而不是像其他人那样传递服务提供者。

在这种情况下,您需要使用本地的content 实例,而不是静态的Content

 mTextures[0] = content.Load<Texture2D>("sky");

编辑:我看到这不起作用,您能否附上您的解决方案布局的图片和内容?

【讨论】:

  • 您的内容路径不应为../../../,而应为"Content"。 ../ 返回一个目录。因此,您正在做的可能是从您的.exe 返回 到您项目的内容目录。相反,您需要forward 进入编译时生成的Content 目录。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-18
相关资源
最近更新 更多