Как сделать платформер. Сохранение данных с помощью PlayerPrefs

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 พ.ย. 2024

ความคิดเห็น • 13

  • @demdraiw1
    @demdraiw1 2 ปีที่แล้ว

    Здраствуйте
    Случайно не подскажете ,
    Как сохранить текст в магазине(цена увеличится с каждой покупкой)
    Цены в массиве,
    Им как-то отдельно нужно скрипт прописать или можно сохранить как-то их все сразу?
    Извините за беспокойство

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว

      Здравствуйте )
      Нужно подумать в какой структуре данных укладываются ваши товары и цены на них. Есть разные способы хранить инфу. Ощущение что для вас подойдёт хранение в базе данных. Но это требует определенных дополнительных знаний.
      Можно попробовать придумать класс контейнер умещающий всю необходимую инфу по товару. Сделать массив таких товаров. И пока мы в меню держать эту информацию в оперативной памяти. А когда уходим с меню или выходим из магазина сохраняем этот массив в соответствующий файл. Ниже я писал под одним из комментариев про сериализацию массива в json. Так вот в этом случае мы делаем тоже самое. Сериализуем массив товаров в json строку. Строку записываем в файл. Когда заходим в меню или магаз из файла читаем строку и десериализуем строку в массив товаров после чего товары у нас снова в оперативной памяти и мы можем выполнять с ними операции покупки и увеличение цены.
      Как-то так наверное

  • @moondrey
    @moondrey 3 ปีที่แล้ว

    Спосибо, помог😀

  • @demdraiw4567
    @demdraiw4567 2 ปีที่แล้ว

    А, как сохранить массив?
    В PlayerPrefs

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว +1

      Скорее всего только с костылями. Сохраняешь отдельно количество элементов и отдельно через фор цикл элементы. В качестве ключа для элементов используешь строку «НАЗВАНИЕ_КЛЮЧА_» + i, а значение это значение. )
      Достаёшь так - берёшь из префсов количество элементов используешь его для фор цикла и получаешь все элементы из префсов по таким же ключам и кладёшь их в новый массив.
      А если ты знаешь json тогда все в разы проще )
      Серелизовал массив в строку сохранил строку в префсы и потом в обратном порядке достал из префсов строку и дессерилизовал строку в массив.
      Ну а вообще если хочешь хранить игровые данные, наверное лучше их хранить не в префсах а в файлах )

  • @demdraiw1
    @demdraiw1 2 ปีที่แล้ว

    А можно ли сохранять текст?
    Без массива
    Мне нужно сделать магазин с умножением цены каждый раз при покупке

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว

      Можно 🤓

    • @demdraiw1
      @demdraiw1 2 ปีที่แล้ว

      @@JalexyDev как?

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว

      @@demdraiw1 точно так же как я описывал. Через жсон или в плеер префс для каждой строки делать свой ключ

    • @demdraiw1
      @demdraiw1 2 ปีที่แล้ว

      @@JalexyDev как удалить сохранение PlayerPrefs
      где это найти?

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว

      @@demdraiw1 это зависит от платформы. Можно загуглить прям как написано выше и сразу получим ответ. Но если вопрос в том, как удалить используя код, то можно просто по тому же ключу положить пустую строку. А при чтении из префсов проверять на пустую строку и делать выводы что там ничего не лежит