Извлечь изображение из локальной папки через json в Unity - PullRequest
0 голосов
/ 08 марта 2019

Я извлекаю изображения из локального изображения, присутствующего в моей системе, через Json. Файл Json:

"BackgroundImage": [
    "C:/Users/SS1/Downloads/images/black_background.jpg",
     "C:/Users/SS1/Downloads/images/Clipboard.png"
],

Можно ли опустить "C: / Users / SS1", чтобы Unity извлекала из системы только папку, независимо от того, какой это компьютер?

Спасибо, Саиф

Ответы [ 2 ]

2 голосов
/ 08 марта 2019

Directory.GetFiles() принимает относительный или a абсолютный путь. Просто поместите относительный путь из корня проекта, а затем передайте его в относительные методы. В качестве альтернативы вы можете просто сохранить имя файла в файле JSON, а затем использовать путь выполнения приложения, чтобы найти папку с помощью AppDomain.CurrentDomain.BaseDirectory.

1007 * например *

var fileNames = getFileNamesFromJsonData();

foreach(var fileName in fileNames) {
    var absolutePath = $"{AppDomain.CurrentDomain.BaseDirectory}/images/{fileName}";
}

https://docs.microsoft.com/en-us/dotnet/api/system.io.directory.getfiles?redirectedfrom=MSDN&view=netframework-4.7.2#overloads

1 голос
/ 08 марта 2019

У вас должен быть не полный путь, а относительный путь и хранить файлы в / используя StreamingAssets . Затем вы можете загрузить ресурсы с пути с большинства платформ без проблем. Вы не должны хранить эти файлы где-либо еще, кроме как со сборкой игры.

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

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