.NET 4.0 + XNA 4.0 - Content.RootDirectory не работает, если указан абсолютный путь? - PullRequest
1 голос
/ 21 декабря 2011

Как мне сделать Content.RootDirectory абсолютным путем, чтобы я мог загружать его не из Content?

Я не думаю, что должен, потому что это дает несуществующие ошибки:

Content.RootDirectory = "C:\\Users\\pc user\\Desktop\\";

outputFont = Content.Load<SpriteFont>("SpriteFont1");

SpriteFont1.spritefont определенно существует в C: \ Users \ pc user \ Desktop. Без сомнения об этом.

Это действительный файл spritefont, и я только что переместил его из Контента, где он работал нормально, на мой Рабочий стол, где он ... Э-э ... Нет.

Мне нужно быть в состоянии сделать это, но если вы на самом деле не можете загрузить Texture2Ds, SpriteFonts и т. Д. По абсолютному пути, используя Content.Load, я готов установить библиотеку или что-то для этого.

Я надеюсь, что только что совершил «глупую ошибку», и она сработает.

Ошибка:

ContentLoadException was unhandled

Error loading "SpriteFont1". File not found.

Ответы [ 2 ]

0 голосов
/ 22 декабря 2011

Только что заметил метод Texture2D.FromStream. Я выложу для удовольствия будущего читателя:

public Stream stream;
Texture2D x;

stream = File.OpenRead("C:\\Users\\pc user\\Desktop\\faceGuy.png");
x = Texture2D.FromStream(GraphicsDevice, stream);

spriteBatch.Draw(x, new Rectangle(0, 0, 32, 32), Color.White);
0 голосов
/ 21 декабря 2011

Почему вы перемещаете свои SpriteFont и текстуры на рабочий стол, когда он отлично работает в контенте?

И я думаю, что для перемещения местоположения Контента вам придется вернуться назад.

Content.RootDirectory = "Content\\..\\..";

И также не забывайте, что не все компьютеры используют C: в качестве основного каталога файлов, если только вы не используете его для личного использования, тогда вы, очевидно, делаете это.

И был ли spritefont импортирован в ваш контент-проект. Если он сейчас находится на вашем рабочем столе, он, скорее всего, больше не импортируется, по крайней мере, не там, где он знает.

А вот и ответ на аналогичный вопрос. Ссылка на изображение больше не работает, но ответ может помочь вам. https://gamedev.stackexchange.com/q/9748/11721

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...