Как загрузить сгенерированные пользователем изображения PNG в качестве текстур (не XNB)?

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

Обычно у меня есть свои собственные текстуры в виде изображений, они обрабатываются Visual Studio при компиляции, а затем игра использует файлы XNB. Но как насчет конечных пользователей, у которых не установлен VS?

UPD: единственная безопасная опция (не требующая удаления ресурсов вручную), похоже, заменяет исходные файлы ресурсов в формате XNB. Для этого вы можете обрабатывать свои собственные PNG, WAV и другие файлы с this tool from codeplex и поместите их в папку с содержимым игры.

1 ответ

Решение

Если вы работаете только в Windows... (не Xbox и не Windows Phone)

вы можете использовать Texture2d.FromStream(File.OpenRead(path));

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

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

Другие вопросы по тегам