Дело в том, что один скрипт находится на нескольких объектах, в нем же написан PlayerPrefs, тк вот, при сохранение данных на одном объекте, они сохраняются и на другом, как можно это исправить ?
Свой ключ каждому создавать, типа obj1_someValue
вместо someValue
.
Но вообще PlayerPrefs же предназначен для простых глобальных настроек, типа настроек игры. Для сохранения чего-то более сложного лучше самому файлы создавать. Например какой-нибудь библиотекой сериализовывать в JSON.
Свой ключ? это как? Можно объяснить на примере или скинуть какую-нибудь ссылку
Каждый объект добавляет свой префикс в ключ, например, просто имя объекта.
PlayerPrefs.SetString(Name + "_someValue", "Hi");
Ух ты, так много писанины лишней получается, через JSON можно автосохранение сделать без кнопок?
Так а сейчас как?
так же как и что угодно другое. Например Дайте плиз код как сделать checkpoint в 2D игре на unity - #2 от пользователя AlexP
Еще такой вопрос, просто ничего не получается, если я буду сохранять игру с помощью JSON, то мне также нужно будет создавать свой ключ каждому объекту или как лучше сделать?
Смотря какая задача
Можно например не свой ключ, а свое имя файла.
А JSON вообще подходит для Android или только PlayerPrefs?
Там тоже можно файлы сохранять.
Слишком глуп я для сохранения, ничего не получается, уже какой день вожусь, и все таки с PlayerPrefs хоть что-то получается, можно ли сохранить по id объекта ?
PlayerPrefs
это просто глобальное хранилище ключ => значение
. Можно записать одно значение по ключу, можно достать это значение по ключу. Больше ничего не умеет.
Так что как я говорил, чтобы сохранять разные значения разными объектами, можно сделать так
Чтобы не писать везде Name +
можно написать какую-нибудь такую функцию в объекте
string PrefsKey(string key)
{
return Name + "_" + key;
}
PlayerPrefs.SetString(PrefsKey("someValue"), "Hi");
Смотря что
Если разные объекты пишут по одному ключу, то сохранится только последнее значение. Соответственно если нужно хранить значения от всех объектов, то нужно как-нибудь создавать уникальный ключ каждому объекту.
Каждый объект и так хранит свой id, разве не так?
Но PlayerPrefs
же не знает об этом. Какой ключ передали, такой и используется.
Это