Menu
CoddyTech

風を保存する

CoddyのUnityジャーニー「Unityのゲームアーキテクチャ」セクションの一部。レッスン 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プレイグラウンド