Как пользоватся файлами txt в Unity?

406
22 апреля 2018, 20:45

Вот моя ситуация: у меня есть игра, игровое поле которой представляет прямоугольник n*m, и мне очень удобно информацию о каждой клетке поля сохранять в файле txt (точнее 1 файл на 1 уровень). Пишу я на Unity, в папку Assets я закинул папку с уровнями. В редакторе всё работает хорошо. Неприятный тот момент, что когда я компилирую игру и запускаю её просто (как .exe файл), уровни програма не находит. Вопрос состоит в том, как исправить эту проблему, или, если такового решения нет, посоветуйте альтернативные решения. Зарание спасибо!

Answer 1

Скорее всего проблема в том, что вы положили свой текстовый файл не в папку Resources.

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

При этом стоит заметить, что в вашем проекте может быть несколько папок с именем Resources (в различных директориях проекта). Это разрешается тем, что при компиляции проекта Unity собирает все содержимое всех папок Resources в одну "виртуальную" папку.

Загружая сам ресурс вы должны искать его начиная с папки Resources, например: если ваш файл Level.txt находится по следующему пути в проекте - Assets/GameData/Resources/Levels/Level.txt, то загружать его в игре стоит по пути Levels/Level.txt методом Resources.Load() подробнее в документации, подробнее о директории Resources здесь

READ ALSO
Быстрое сложение изображений в C#

Быстрое сложение изображений в C#

Основная задача: мне необходимо в реальном времени (или около того) сложение двух Grayscale FullHD 8bit изображений (которые будут использованы как...

198
Unity Coroutines C#

Unity Coroutines C#

Как сделать универсальную корутину для запуска какой то функции через определённое время?

216
Смысл помещения DateTime в контейнер

Смысл помещения DateTime в контейнер

В исходном коде одной программы, внутри NinjectModule, я нашёл такую строку:

176