Разбор как работать с PlayerPrefs в Unity 5

В этом уроке мы разберем, как работать с PlayerPrefs в Unity 5 и выгрузим из них данные. Для начала необходимо разобраться, что такое PlayerPrefs и для чего они вообще нужны.

Что такое PlayerPrefs

PlayerPrefs - это класс, для работы с нашими данными, которые мы хотим сохранять или переносить. Данные, которые мы заносим в PlayerPrefs хранятся в разных местах для разных устройств. Например, в Web приложениях, которые мы запускаем на Windows они хранятся в %APPDATA%\Unity\WebPlayerPrefs, а обычные приложения сохраняют себя в реестр (HKEY_CURRENT_USER\Software\[Название компании]\[Название продукта]). PlayerPrefs довольно небезопасный способ хранения данных, поэтому их в основном применяют для сохранения настроек и чего-то неважного, чтоб это не влияло на игру.

Но можно модифицировать данные, которые мы заносим в PlayerPrefs для того, чтоб их изменение видилось и не применялось. Например, можно использовать шифрование, и тогда все данные будут представляться результатами шифрования. После этого чтоб их получить, нужно расшифровать их в коде игры.

Как работать с PlayerPrefs

Для этого напишем небольшой скрипт в SaveController , который сохранял бы скорость и загружал её вновь, если она уже есть.

public class SaveController : MonoBehaviour
{
    public float Speed;
    private void Start()
    {
        //Проверим наличие нашего ключа в реестре
        if (PlayerPrefs.HasKey("PrefName"))
        {
            Speed=PlayerPrefs.GetInt("PrefName");
            //Так же мы можем удалить ключ
            //Вписав PlayerPrefs.DeleteKey(ключ)
            //или удалить все, написав
            //PlayerPrefs.DeleteAll();
            //Не забывайте сохранить изменения ключей
        }
    }

    //OnMouseDown будет работать если на объекте есть коллайдер
    private void OnMouseDown()
    {
        //Установим новые данные
        //Запишем новое значение PrefName
        PlayerPrefs.SetInt("PrefName", 5);
        //Сохраним внесенные изменения 
        //Без этой команды сохранение не произойдет
        PlayerPrefs.Save();
    }

}

Теперь при запуске нашей игры и нажатия на объект, который имеет в компонентах SaveController мы установим новое значение в реестр. А при перезапуске игры мы выгрузим его. В итоге этого урока мы разобрали, как работать с PlayerPrefs в Unity 5 и выгрузили из них данные.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (4 оценок, среднее: 5,00 из 5)
Adblock
detector