0 / 0 / 0
Регистрация: 23.06.2011
Сообщений: 42
|
|||||||||||
1 | |||||||||||
PlayerPrefs очень странно работает!11.11.2018, 19:40. Показов 3571. Ответов 3
Метки нет (Все метки)
Всем привет!
В первой сцене сделал авторизацию (через Mysql), при удачном входе делаю переход на другую сцену
и там использую сохраненное ранее имя игрока.
Всё хорошо. После удачного логина происходит переход на вторую сцену, но засада в том, что этот переход происходит не только в запущенном в Unity приложении, но и в webgl версии в браузере, и даже в браузере телефона, подключенного даже не через wifi (я перестраховался). Я почему-то думал, что PlayerPrefs - это локальное хранилище данных. А сейчас оказывается, что оно общее для всех, ничего не понимаю. Как фича это супер!!! Сразу на все клиенты распространяются PlayerPrefs. Но ведь кроме меня в мою игру захотят поиграть и другие юзеры, попытаются авторизнуться, и у всех других слетит сцена. Мне казалось, что PlayerPrefs - это типа кука, пока не пропишешь нужные переменные, он будет пустой. Но оказалось, я был неправ. И еще подвопрос - обнуляется ли PlayerPrefs при последующих перезапусках игры (если его не трогать)? Спасибо всем заранее! В принципе, я уже начал копать в сторону сохранения данных в текстовом файле, всё работает, но как-то ненадежно (регулярно прилетают крэши приложения из-за ошибок доступа к файлу, короче, ненадежно это)
0
|
11.11.2018, 19:40 | |
Ответы с готовыми решениями:
3
PlayerPrefs.GetInt и PlayerPrefs.SetInt - логика записи PlayerPrefs не работает Странно работает RayCact Очень странно работает Wi-Fi на ноутбуке |
3353 / 1769 / 1025
Регистрация: 26.10.2018
Сообщений: 5,198
|
|
11.11.2018, 19:58 | 2 |
Сообщение было отмечено romingood как решение
Решение
А при чем тут переход на следующую сцену и плеерпрефс? У тебя беда с аутентификацией.
Unity Editor и браузер используют разные хранилища, первый - реестр, второй IndexedDB. Тут расписано, где хранятся сохранки https://docs.unity3d.com/Scrip... Prefs.html И еще подвопрос - обнуляется ли PlayerPrefs при последующих перезапусках игры (если его не трогать)?[/quote] Нет. Если ты вручную не сотрешь файлы или же не юзанешь PlayerPrefs.DeleteAll(). Всё что делает плеерпрефс это сохраняет на хард диск данные, это не всегда одно и то же место (ссылка выше), но это всегда локальное сохранение. https://docs.unity3d.com/Scrip... mJson.html https://docs.unity3d.com/ru/53... oJson.html
1
|
0 / 0 / 0
Регистрация: 23.06.2011
Сообщений: 42
|
|
12.11.2018, 02:39 [ТС] | 3 |
Спасибо огромное за ответ!
Не стирает данные при перезапуске игры! Это просто отлично! А ошибку с авторизацией я нашел, оказывается, я сам отправлял ВСЕМ юзерам уведомление об успешном логине. Неделя бессонных ночей, передоз информации, затупил. Еще раз спасибо! Добавлено через 18 минут Забыл важный момент. Как думаете? Можно ли хранить хэш авторизованного юзера в PlayerPrefs? Безопасно ли? Если нет, то где тогда хранить?
0
|
3353 / 1769 / 1025
Регистрация: 26.10.2018
Сообщений: 5,198
|
|
12.11.2018, 10:27 | 4 |
С вопросами безопасности никогда не работал, это не ко мне))
0
|
12.11.2018, 10:27 | |
12.11.2018, 10:27 | |
Помогаю со студенческими работами здесь
4
Очень странно работает компьютер Поиск WIN7 очень странно работает Очень странно работает CMD в Windows 8.1 Кнопка меняет алгоритм работы. Очень, очень странно! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |