Logik für Unity speichern und laden

Entdecken Sie die Schritte zum Integrieren der Speicher- und Ladelogik in Ihre Unity-Spiele, um den Spielerfortschritt und wichtige Spielzustände nahtlos beizubehalten. Lass uns eintauchen!

Schritt 1: Erstellen Sie ein Unity-Projekt

Wenn Sie es noch nicht getan haben, öffnen Sie zunächst Unity und erstellen Sie ein neues Projekt. Stellen Sie sicher, dass Sie die erforderlichen Ressourcen für die von Ihnen gewählte Entwicklungsumgebung installiert haben.

Schritt 2: Spielelemente entwerfen

Entwerfen Sie Ihre Spielelemente und ermitteln Sie, welche Daten gespeichert und geladen werden müssen. Dazu können Positionen des Spielers, Ergebnisse oder andere relevante Informationen gehören.

Schritt 3: Schreiben Sie die Speicherlogik

Erstellen ein neues Skript und implementieren Sie darin die Logik zum Speichern relevanter Spieldaten. Unity stellt für diesen Zweck PlayerPrefs oder andere Serialisierungsmethoden bereit. Nachfolgend finden Sie ein einfaches Beispiel:

'SaveLoadManager.cs'

using UnityEngine;

public class SaveLoadManager : MonoBehaviour
{
    private float playerScore;

    public void SaveGame()
    {
        // Save the player's score to PlayerPrefs
        PlayerPrefs.SetFloat("PlayerScore", playerScore);
        PlayerPrefs.Save(); // It's important to call Save after setting PlayerPrefs values
        Debug.Log("Game saved. Player's score: " + playerScore);
    }
}

Schritt 4: Ladelogik schreiben

Erweitern Sie das Skript um die Logik zum Laden gespeicherter Daten. Dies kann das Lesen von PlayerPrefs oder das Deserialisieren von Daten aus einer Datei umfassen.

'SaveLoadManager.cs'

using UnityEngine;

public class SaveLoadManager : MonoBehaviour
{
    private float playerScore;

    void Start()
    {
        // Load the player's score from PlayerPrefs when the game starts
        LoadGame();
    }

    public void SaveGame()
    {
        // Save the player's score to PlayerPrefs
        PlayerPrefs.SetFloat("PlayerScore", playerScore);
        PlayerPrefs.Save(); // It's important to call Save after setting PlayerPrefs values
        Debug.Log("Game saved. Player's score: " + playerScore);
    }

    public void LoadGame()
    {
        // Load the player's score from PlayerPrefs
        playerScore = PlayerPrefs.GetFloat("PlayerScore", 0f);
        Debug.Log("Game loaded. Player's score: " + playerScore);
    }
}

Schritt 5: Skript anhängen

Hängen Sie das SaveLoadManager-Skript an ein relevantes Spielobjekt in Ihrer Unity-Szene an.

Schritt 6: Implementieren Sie Speicher- und Ladetrigger

Definieren Sie Auslöser in Ihrem Spiel, z. B. bestimmte Ereignisse oder Schaltflächen, die die Methoden „SaveGame“ und 'LoadGame' aus dem 'SaveLoadManager'-Skript aufrufen.

Schritt 7: Testen Sie das Speichern und Laden

Führen Sie Ihr Spiel aus und testen Sie die Speicher- und Ladefunktion. Bestätigen Sie, dass die Daten korrekt gespeichert und geladen werden, damit die Spieler ihren Fortschritt fortsetzen können.

Wenn Sie nach einem vollständigen Save/Load-Serialisierungssystem für Unity suchen, sehen Sie sich Easy Save an.

Empfohlene Artikel
Eine Anleitung zum Laden von Szenen in Unity
Logik zum Abfeuern von Leuchtpistolen in Unity
Erstellen einer Game-Over-Szene in Unity
Erstellen von Sammlerstücken und Power-Ups in Unity
Arbeiten mit Arrays und Listen in Unity Code
Funktionen und Methodenaufrufe verstehen
Einführung in die Skriptsprache Unity C#