Menu
CoddyTech

Сохраняем ветер

Часть раздела Архитектура игр в Unity путешествия по Unity на Coddy. Урок 26 из 64.

При каждой загрузке сборка загружает все ресурсы в том виде, в котором они были при сборке, поэтому при каждом запуске ветер игрока снова будет равен 2. PlayerPrefs сохраняет его, а Start записывает его обратно в ресурс.

challenge icon

Задание

Легко

Сохраняй ветер игрока для следующей игры.

  1. В WindVane каждый раз, когда стрелка меняет ветер, вызывай PlayerPrefs.SetFloat("Wind", wind.strength);.
  2. В Start, перед Show(), если PlayerPrefs.HasKey("Wind"), присвой wind.strength значение PlayerPrefs.GetFloat("Wind"). Новый игрок сохраняет значение 2 из ресурса.

Нажми «Играть», измени ветер, нажми «Стоп» и «Играть»: ветер останется прежним. Затем нажми «Проверить».

Попробуйте сами

using UnityEngine;
using UnityEngine.InputSystem;
using TMPro;

public class WindVane : MonoBehaviour
{
    public TMP_Text windText;
    public WindSettings wind;

    void Start()
    {
        Show();
    }

    void Update()
    {
        if (Keyboard.current.upArrowKey.wasPressedThisFrame)
        {
            wind.strength = Mathf.Min(wind.strength + 1f, 5f);
            Show();
        }
        if (Keyboard.current.downArrowKey.wasPressedThisFrame)
        {
            wind.strength = Mathf.Max(wind.strength - 1f, 0f);
            Show();
        }
    }

    void Show()
    {
        windText.text = "Wind: " + wind.strength;
    }
}

Все уроки раздела Архитектура игр в Unity

Потренируйтесь самостоятельно: Песочница Unity