это не сработает.

нь новичок в XNA, и я начал с учебника, который рисует изображение на экране. Мне удалось переместить мое изображение в папку «Содержимое», но когда я пытаюсь использовать его в своем коде, оно не может быть найдено.

Я использую имя актива, и я просто не могу найти, что я делаю неправильно. В учебниках используется XNA 3.0, а я использую Visual Studio 2010, но не уверен, имеет ли это значение.

Вот мой код

public class Game1 : Microsoft.Xna.Framework.Game
{
    Vector2 mPosition = new Vector2(0, 0);
    Texture2D mSpriteTexture;

    GraphicsDeviceManager graphics;
    SpriteBatch spriteBatch;

    public Game1()
    {
        graphics = new GraphicsDeviceManager(this);
        Content.RootDirectory = "Content";
    }


    protected override void Initialize()
    {
        base.Initialize();
    }

    protected override void LoadContent()
    {
        spriteBatch = new SpriteBatch(GraphicsDevice);

        mSpriteTexture = Content.Load<Texture2D>("Face");
    }


    protected override void UnloadContent()
    {
    }

    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.Black);

        spriteBatch.Begin();
        spriteBatch.Draw(mSpriteTexture, mPosition, Color.White);
        spriteBatch.End();

        base.Draw(gameTime);
    }
}

}

Ошибка гласит: «ContentLoadException не обработано. Файл не найден.

Обозреватель решений

Я надеюсь, что это достаточно информации. Также имя файла моего файла - Face.

Заранее спасибо.

Ответы на вопрос(4)

Проверьте исходный файл (например,MyTexture.bmp) и убедитесь, чтоBuild Action установлен вкомпилировать.

Если он настроен на что-то другое, например, на видсодержаниеэто не сработает.

ВXNA 4.0 Контентный проект имеетКорневой каталог контента свойство (установлено всодержание по умолчанию), который указывает имя подкаталога, в котором будут храниться конечные выходные файлы содержимого конвейера, сгенерированные из папки проекта. Поэтому, если вы создаетесодержание каталог внутриСодержание Ссылка проецироватьЛицо актив будет размещен вСодержание / Content каталог, и вы должны будете загрузить его так

mSpriteTexture = Content.Load<Texture2D>(@"Content/Face");

несмотря на настройкуContent.RootDirectory = "Content"

я предполагаю, что вы используете XNA 4.0. Если это так, то есть новыйContent Reference проект, в который вы помещаете все свои текстуры, звуки, модели и т. д. Если вы создалиContent папка вXNA Game проект, это не сработает.

 Neil Knight10 янв. 2011 г., 07:57
Да это верно. Убедитесь, чтоFace Файл установлен в качестве текстуры вContent Reference проект.
 Foxvog10 янв. 2011 г., 07:55
Мой проект называется Test. Я поместил файл в «TestContent (Content)», который был создан с проектом. Это верно?
Решение Вопроса

нужно проверить, что файл является одним из поддерживаемых форматов для Texture2D (.jpg, .png, .bmp,. TGA). После этого нажмите на изображение и убедитесь, что имя актива правильное и соответствует точному регистру / орфографии, который вы используете в коде для загрузки его под этим именем. Если это правильно, также убедитесь, что Content Importer для изображения правильно установлен как Texture2D. И еще одна вещь, которую нужно проверить, это убедиться, что ваше изображение находится в корне проекта Content, а не в папке. Если у вас есть это в папке, то вам нужно включить имя папки (или имена) при загрузке.

Если вы все это проверили, то вам может потребоваться опубликовать изображение или пример проекта, чтобы мы могли посмотреть и увидеть, заметим ли мы что-нибудь таким образом.

На этом скриншоте выглядит, как будто вам нужно щелкнуть правой кнопкой мыши по проекту «Test» и сказать «Add Content Reference». Затем вам нужно будет выбрать ваш проект «Test (Content)» в качестве этой ссылки. Это должно было произойти по умолчанию при создании этого нового игрового проекта, и я не уверен, почему он выглядит так, как будто он был удален.

 George Clingerman11 янв. 2011 г., 16:56
На этом скриншоте выглядит, как будто вам нужно щелкнуть правой кнопкой мыши по проекту «Test» и сказать «Add Content Reference». Затем вам нужно будет выбрать ваш проект «Test (Content)» в качестве этой ссылки. Это должно было произойти по умолчанию при создании этого нового игрового проекта, и я не уверен, почему он выглядит так, как будто он был удален.
 Foxvog12 янв. 2011 г., 01:49
Это была проблема, я не уверен, почему это было так, как это было. Большое спасибо за ответ и учебники!
 Foxvog10 янв. 2011 г., 21:21
Я разместил ссылку на обозреватель решений, у меня пока нет представителя для публикации изображений, поэтому я надеюсь, что это нормально. Насколько я могу судить, я сделал все, как вы предложили, и до сих пор не повезло.

Ваш ответ на вопрос