|
34 / 11 / 0
Регистрация: 22.09.2010
Сообщений: 357
|
|||||||||||
Проблемы, связанные с ContentManager и загрузкой/выгрузкой контента31.12.2010, 13:40. Показов 12833. Ответов 106
Метки нет (Все метки)
Краткая сводка:
1) Рабочий пример загрузки текстуры 2) RootDirectory нельзя изменить после присвоения. Однако это не мешает инициализировать её абсолютным путём, например: "C:\\" 3) Пример загрузки в случае RootDirectory = "Content" (расширения при загрузке не указываются):
__А) создавать ContentManager на каждый ассет. __Б) создать свой класс. наследуя от ContentManager 6) Способ загрузки эффектов, текстур, моделей и т.д. в реальном времени (динамическая компиляция). 7) Чтобы игра не зависала при длительных загрузках, загружать нужно в отдельном потоке, используя классы Thread/Task и т.д. ________________________________________ ___________________ Помогите, не пойму в чем проблема, в участке кода spriteTexture = content.Load<Texture2D>(@"all\textures\q werty1"); выскакивает исключение Error loading "all\textures\qwerty1". File not found. Хотя в проект добавлен каталог all и в нем textures и внутри файл qwerty1.jpg, и через проект изображение открывается. Я даже задавал полный путь - то же самое пишет.
0
|
|||||||||||
| 31.12.2010, 13:40 | |
|
Ответы с готовыми решениями:
106
Проблемы с выгрузкой файлов Проблемы с выгрузкой информации в Excel Настройки Биос, связанные с загрузкой? |
|
181 / 107 / 13
Регистрация: 22.03.2010
Сообщений: 456
|
|
| 03.08.2012, 11:41 | |
|
Я думаю у Вас отпадут подобные вопросы, если Вы внимательно изучите почему и как создавалась XNA, ну и конечно структуру и логику ее работы.
XNA можно сравнить (только давайте не переходить в полемику) с игровым движком. А теперь Вы задаете вопрос, я хочу использовать преимущества этого движка, но использовать сам движок не хочу. Так не получиться.
0
|
|
|
6 / 6 / 0
Регистрация: 01.08.2011
Сообщений: 133
|
|
| 03.08.2012, 13:37 | |
|
Т.е. простым языком никак) и таки да, в самую точку "я хочу использовать преимущества этого движка, но использовать сам движок не хочу".
Так или иначе конструктор у ContentManager'а есть. Значит не все потеряно. Да и при том класс Game каким-то образом инициализирует его. Добавлено через 2 минуты У ContentManager'а есть конструктор, у Effect есть конструктор, кто-нибудь знает как хотябы одним из них пользоваться?
0
|
|
|
51 / 38 / 5
Регистрация: 14.01.2012
Сообщений: 127
|
|
| 03.08.2012, 14:18 | |
|
Вот пример как использовать xna в winforms, т.е. без класса Game, там и ContentManager есть. В обшем там нужен ServiceContainer реализующий IServiceProvider и в решении должны быть проекты ContentLibrary на которую ссылается главный проект и Content(в который кидаем модельки, шрифты и проч.) на который ссылается ContentLibrary
0
|
|
|
6 / 6 / 0
Регистрация: 01.08.2011
Сообщений: 133
|
|
| 03.08.2012, 14:22 | |
|
nrv, отлично, посмотрим. Спасибо. Возможно, есть способ найти способ без трех проектов в решении сделать) а то очень уж неудобно получается.
0
|
|
|
6 / 6 / 0
Регистрация: 01.08.2011
Сообщений: 133
|
|
| 03.08.2012, 15:20 | |
|
Да, я разобрался, спасибо, nrv)
0
|
|
|
6 / 6 / 0
Регистрация: 01.08.2011
Сообщений: 133
|
|||||||||||
| 03.08.2012, 19:28 | |||||||||||
|
Разобрал ссылку, любезно предоставленную nrv.
Отвечаю сам на вопрос №2 (Создание ContentManager'a без класса Game): Здесь довольно просто. Попробую объяснить наиболее общими словами. Конструктор ContentManager требует объект, реализующий IServiceProvider, который по сути имеет всего одну функцию: GetService. Эта функция должна возвращать объект, реализующий IGraphicsDeviceService. В свою очередь этот объект имеет одну функцию и несколько (интуитивно понятных) событий. Функция должна возвращать GraphicsDevice, от которого я, собственно, и отталкивался с самого начала. Теперь по полочкам: ContentManager <- IServiceProvider <- IGraphicsDeviceService <- GraphicsDevice. Вот наиболее простой пример создания нового ContentManager'а.
Не работает с обычными файлами, а только с компилированными ".xnb", а это доставляет ооооооооооооочень много хлопот. Фактически, нужно создавать еще один класс, который компилирует файлы, а это происходит довольно медленно. И сам класс компиляции очень сложен (для меня). Поэтому, есть два пути. Первый: скачать где-нибудь программу, которая компилирует файлы (нашел одну называется XNA Content Builder (XCB), но у меня не запустилась и судя по всему, она младше версии 3.1). Второй: использовать готовый класс из того примера, что отправил nrv - ContentBuilder. Разобраться я в нем за такой короткий срок не смог, да и там используется пространство имен Microsoft.Build, которое я не изучал. Но алгоритм работы его напишу:
Возможно все это пустая трата времени, и лучше сделать все с помощью класса Game, но вот не лежит у меня душа к нему хочу сделать все по старинке: WindowsForms + Timer = Мелкая игра.А ответ на поставленный мной вопрос №1 мне стоит проверить, но уже с помощью класса ContentBuilder, откомпилировав .fx файл, и передав конструктору Effect( GraphicsDevice, byte[] ) массив байт, выгруженных из откопилированного файла. Как сделаю, напишу результат, может кому понадобится. Ведь весь этот сыр-бор ради загрузки шейдеров из файлов =)
0
|
|||||||||||
|
24 / 24 / 1
Регистрация: 16.05.2012
Сообщений: 285
|
||||||
| 16.09.2012, 17:44 | ||||||
|
Помогите, не знаю, в чем проблема! Вообщем пытаюсь загрузить спрайт, но пишет при запуске, что не может найти файл! При указании полного адреса к ресурсу пишет что не может его открыть!
Вот код:
Все, исправил!
0
|
||||||
|
Почетный модератор
23253 / 9167 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
|
| 16.09.2012, 19:18 | |
|
0
|
|
|
24 / 24 / 1
Регистрация: 16.05.2012
Сообщений: 285
|
||||||
| 16.09.2012, 19:34 | ||||||
|
Я погорячился - проблема все еще есть!
Работает код, указанный выше, но вот этот, без класса, не работает:
0
|
||||||
|
24 / 24 / 1
Регистрация: 16.05.2012
Сообщений: 285
|
|
| 17.09.2012, 21:50 | |
|
Теперь пишет file not found...
Добавлено через 5 часов 49 минут Просьба: не мог бы кто выложить папку с файлами проекта и загруженным изображением на примере моего кода, а то может, я и загружаю не так...
0
|
|
|
24 / 24 / 1
Регистрация: 16.05.2012
Сообщений: 285
|
|
| 18.09.2012, 15:58 | |
|
Вот оно, оцени:
0
|
|
| 18.09.2012, 16:33 | |
|
На момент загрузки rootdirectory = "". Её надо было устанавливать в методе LoadContent и папку тоже в пути надо указывать WindowsGame4.rar и ещё вы удалили ссылку на контент проект, она тоже должна быть. чтобы при компиляции копировался контент в выходной каталог.
0
|
|
| 18.09.2012, 17:29 | |||||||||||
|
можно ещё разными способами, только rootdirectory нельзя будет изменить, поэтому можно даже указывать абсолютный путь наподобие "C:\"
1
|
|||||||||||
|
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
|
||||||
| 11.10.2012, 13:14 | ||||||
|
Добрый день уважаемые форумчане. Начал разбираться с XNA 4.0 читая при этом книгу по 3.0.
Возник такой вопрос, для того что бы загрузить файл эффект мне нужно создать ContentManager. Как эго создать? делаю так :
Заранее благодарен Добавлено через 1 минуту и еще в 3.0 была структура CompiledEffect. как я понял в 4.0 ее нету. Чем ее заменить?
0
|
||||||
|
51 / 38 / 5
Регистрация: 14.01.2012
Сообщений: 127
|
||||||
| 12.10.2012, 12:45 | ||||||
|
Если создавать стандартное приложение XNA , то бишь с классом Game, то у Game есть свойство ContentManager, и нет проблем.
Если класса Game не предвидится то, могу посоветовать пример(в аттачах, в нете уже не нашел его), там вообще про XNA+WinForms, но как самому создавать ContentManager, без Game есть. Там в наследнике класса GraphicsDeviceControl пишешь:
0
|
||||||
|
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
|
|
| 17.12.2012, 14:27 | |
|
Добрый день, уважаемые форумчане. Возник такой вопрос, если я рисую средствами XNA в своем UserControle. Рисуется все классно и быстро работает, но есть одно но! Я не могу ничего загрузить в проект потому как не знаю как на c# объявить ContentManager в классе с#.
Подскажите кто знает! Добавлено через 1 час 24 минуты Есть кто живой?
0
|
|
|
-4 / 0 / 1
Регистрация: 24.12.2011
Сообщений: 51
|
|
| 17.12.2012, 20:40 | |
|
Немного непонял задачу... Уточни.
Не по теме: Живых мало. Все готовятся к Апокалипсису
0
|
|
| 17.12.2012, 20:40 | |
|
Отслеживание изменений URL на сайте с динамической загрузкой контента Подскажите совет как разобраться с загрузкой разного контента
Проблемы с загрузкой Проблемы с загрузкой HDD Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|