Menu
CoddyTech

Den Wind speichern

Teil des Abschnitts Spielarchitektur in Unity der Unity-Journey von Coddy. Lektion 26 von 64.

Ein Build lädt bei jedem Start alle Assets so, wie sie erstellt wurden, sodass der Wind des Spielers wieder auf 2 zurückgesetzt wäre. PlayerPrefs speichert ihn, und Start schreibt ihn zurück in das Asset.

challenge icon

Aufgabe

Einfach

Behalte den Wind des Spielers für das nächste Spiel bei.

  1. Rufe in WindVane jedes Mal, wenn ein Pfeil den Wind ändert, PlayerPrefs.SetFloat("Wind", wind.strength); auf.
  2. Setze in Start vor Show() wind.strength auf PlayerPrefs.GetFloat("Wind"), falls PlayerPrefs.HasKey("Wind") zutrifft. Ein neuer Spieler behält den Wert 2 des Assets bei.

Drücke auf „Spielen“, ändere den Wind, drücke auf „Stoppen“ und dann auf „Spielen“: Der Wind ist derselbe. Drücke anschließend auf „Prüfen“.

Probier es selbst

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;
    }
}

Alle Lektionen in Spielarchitektur in Unity

Übe selbstständig: Unity-Playground