Сохранения для игр на телефон.
Добавлено:
26 сен 2017, 13:07
Fox_game
Возникла проблемка. Я сделал игру с системой сохранений. На компе она работает а на телефоне - нет. Я так понял, что на компьютере игра может свободно создать папку ("saves") а телефон не предоставляет такой возможности. Подскажите как можно сделать так, чтоб игра создавала эту самую папку по указанному пути (например Android/obb)? И загружала оттуда же?
Re: Сохранения для игр на телефон.
Добавлено:
27 сен 2017, 01:18
Alex_Hell
Re: Сохранения для игр на телефон.
Добавлено:
27 сен 2017, 11:19
Fox_game
это немного не то, что я хотел...
Это я знаю. Мне надо чтоб на телефонах создавалась папка в проводнике.
Вот у меня есть код:
Используется csharp
if (!Directory.Exists (Application.dataPath + "/i/saves"))
Directory.CreateDirectory (Application.dataPath + "/i/saves");
FileStream fs = new FileStream (Application.dataPath + "/i/saves/save.zorya", FileMode.Create);
...
if (File.Exists (Application.dataPath + "/i/saves/save.zorya")) {
FileStream fs = new FileStream (Application.dataPath + "/i/saves/save.zorya", FileMode.Open);
Обратите внимание на эту чать кода - /i/saves/save.zorya это путь к моему сохранению. Как его надо поменять чтоб на телефоне все прекрасно работало !?
Re: Сохранения для игр на телефон.
Добавлено:
28 сен 2017, 09:59
Fox_game
Pollux писал(а):Используйте
Используется csharp
Application.persistentDataPath
Фактический путь:
sdcard0\Android\data\com.your.app\files
именно с этими палочками (\)? или с этими (/)
И где использовать Application.persistentDataPath?
я заменил на это:
Используется csharp
if (File.Exists (Application.dataPath + "sdcard0/Android/data/saves/save.zorya")) {
FileStream fs = new FileStream (Application.dataPath + "sdcard0/Android/data/saves/save.zorya", FileMode.Open);
...
if (!Directory.Exists (Application.dataPath + "sdcard0/Android/data/saves"))
Directory.CreateDirectory (Application.dataPath + "sdcard0/Android/data/saves");
FileStream fs = new FileStream (Application.dataPath + "sdcard0/Android/data/saves/save.zorya", FileMode.Create);
и все равно не выходит
Re: Сохранения для игр на телефон.
Добавлено:
28 сен 2017, 10:20
alt3d
Вместо Application.dataPath используй Application.persistentDataPath
Юнити генерирует эту папку на телефоне по имени твоего приложения и изменяет права доступа так что ты можешь туда писать что хочешь.
И не надо городить огород с "sdcard0/Android/data/saves/save.zorya"
сразу пиши Application.persistentDataPath + "save.zorya"
https://docs.unity3d.com/ScriptReferenc ... aPath.html
Re: Сохранения для игр на телефон.
Добавлено:
28 сен 2017, 18:56
Fox_game
alt3d писал(а):Вместо Application.dataPath используй Application.persistentDataPath
Юнити генерирует эту папку на телефоне по имени твоего приложения и изменяет права доступа так что ты можешь туда писать что хочешь.
И не надо городить огород с "sdcard0/Android/data/saves/save.zorya"
сразу пиши "Application.persistentDataPath/save.zorya"
https://docs.unity3d.com/ScriptReferenc ... aPath.html
Наверное я что-то делаю не так
я заменил часть кода на:
Используется csharp
FileStream fs = new FileStream (Application.persistentDataPath + "/save.zorya", FileMode.Create);
...
if (File.Exists (Application.persistentDataPath + "save.zorya")) {
FileStream fs = new FileStream (Application.persistentDataPath + "save.zorya", FileMode.Open);
// а это убрал вообще
// if (!Directory.Exists (Application.persistentDataPath + "/saves"))
// Directory.CreateDirectory (Application.persistentDataPath + "/saves");
и все равно ни на компе ни на телефоне ничего не происходит
Re: Сохранения для игр на телефон.
Добавлено:
28 сен 2017, 19:40
Tolking
FileStream (Application.persistentDataPath + "/save.zorya"
Exists (Application.persistentDataPath + "save.zorya"