В чем разница между Application.streamingAssetsPath и Application.persistentDataPath? Как они используются? - PullRequest
0 голосов
/ 31 декабря 2018

У меня есть сомнения относительно определенных концепций между этими двумя понятиями. Для Application.streamingAssetsPath я должен создать папку StreamingAssets в своем проекте, чтобы я мог сохранять в нее файлы и позже загружать ее. Так какова роль Application.persistentDataPathи роль Application.streamingAssetsPath?

Если у меня есть активы и данные (позиция, здоровье и т. Д.), Которые необходимо сохранить, а затем перезагрузить их на мобильных устройствах (Android и IOS) и ПК. Какой вариант лучше?

Ниже ясохранить с помощью Application.streamingAssetsPath

using (FileStream fs = new FileStream(Application.streamingAssetsPath + "/Position.json", FileMode.Create))
    {
        BinaryWriter filewriter = new BinaryWriter(fs);
        filewriter.Write(JsonString);
        fs.Close();


    }

1 Ответ

0 голосов
/ 01 января 2019

Как правило, используйте Application.persistentDataPath для данных, которые были недоступны во время сборки и будут изменены после распространения (и никогда не должны изменяться при обновлении игры), и используйте Application.streamingAssetsPath для игровых данных, которые существуют до вашей сборкичто вы хотите иметь возможность читать с помощью систем ввода-вывода во время игры (и могут быть изменены в обновлении игры).Например, данные сохранения плеера, скорее всего, должны быть помещены в Application.persistentDataPath, а файлы диалогов - в Application.streamingAssetsPath.

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


Если вы сохраняете текущую позицию, текущее состояние здоровья и текущее состояние персонажа, за которым вы отслеживаете, вам понадобится Application.persistentDataPath.Если вы храните данные о начальной позиции, максимальном здоровье и других характеристиках персонажа, которые вы будете использовать для инициализации, Application.streamingAssetsPath будет лучшим выбором.

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