Прочитайте пользовательский контент в MONO-GAME кросс-платформенным способом

используя Монохейм ,

  • У меня есть некоторые пользовательские файлы содержимого в двоичном формате ( не .xnb )

  • во время выполнения мне нужно прочитать содержимое этих файлов.

  • Я предпочитаю получать поток, но если что-то даст мне заполненный байт [] или что-то еще, это тоже прекрасно ..

  • это должно быть кросс-платформенный как можно больше и работать на ПК \ Mobile \ console \ web \ what-ever-mono-game-offers

;

мои усилия до сих пор:

  • ContentManager.Load () не читает пользовательские форматы

  • подклассификация ContentManager и переопределение OpenStream (string assetName) не помогло - он ожидает, что файл, который я дам ему, закончится с .xnb

  • переименование всех файлов на " .xnb ", потому что это невозможно для меня, потому что некоторые другие профайлы читают файлы-файлы и ожидают, что они будут

  • TitleContainer.OpenStream () , похоже, читает файлы из файловой системы, но я не уверен, как они будут упакованы при создании для мобильных устройств, например.

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

    (у меня нет iphone \ ipad для проверки этого)

  • простой « File.ReadAllBytes () » не подходит по той же причине

;

Мои вопросы:

  1. Насколько я могу сказать о кросс-платформенном ограничении TitleContainer?
  2. что я могу сделать?

спасибо.

3 голоса | спросил Levan 5 Maypm15 2015, 19:53:21

1 ответ


1

Я рекомендую создать собственный проект контента для каждого уникального формата. Я рекомендую этот блог в качестве отправной точки: http: //dylanwilson .net /создание-таможенно-контент-импортеры-для-monogame-трубопровод Также взгляните на ответ на этот вопрос: MonoGame 3.4 Content Pipeline Extension отсутствует ссылка

Проект пользовательского контента позволит вам создать ваши собственные файлы формата .xnb. Пользовательский контент-проект делает использование ваших уникальных форматов файлов одинаково простым, как использование готовых форматов, таких как .png и .mp3.

В вашем списке требований вы заявляете, что внешняя программа также нуждается в файлах. Если это связано с тем, что внешняя программа - это инструмент, который вы используете для создания /изменения этих активов, то это не проблема. Просто укажите проект Content в исходный файл, и конвейер Content преобразует его в файл содержимого .xnb при создании проекта.

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

TitleContainer.OpenStream() позволяет вам читать из файловой системы. Если ваш пакет содержит файлы, я бы ожидал, что метод сможет его прочитать. В конце концов, как вы заявляете, Unity также скопирует содержимое в папку. Поэтому, если вы установите свойства файлов, которые будут включены в ваш шаг сборки, вы сможете прочитать его.

ответил Felsir 26 +03002015-10-26T10:28:05+03:00312015bEurope/MoscowMon, 26 Oct 2015 10:28:05 +0300 2015, 10:28:05

Похожие вопросы

0
Специальный релятивистский шейдер в GLSL. Каковы некоторые современные методы рендеринга деформируемых ландшафтов? Как избежать самопересечения при применении штриха к кривой? Как обычно создается обычная музыка для небольшой игры? Система компонентов Entity - как реализовать трансформацию объекта «Декальная реализация» Доступность игр, как это важно для вас? Триангуляция A * (TA *) алгоритм поиска путей. Есть ли золотой стандарт для сенсорных элементов управления при прокрутке стрельбы? Регистрация компонентов игрового объекта в подсистемах игр? (Компонентный дизайн игрового объекта). Рендеринг Unity на нескольких мониторах. Как к клиент-серверной игре с помощью Google App Engine (поиск учебника.) Как я могу реализовать функции подсветки и усилителя? тени в многоуровневой 2-мерной tilemap? Запуск обновления игры: кросс-платформенный выпуск

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132