Pause Menü erstellen

Gefällt Dir der Artikel? Dann teile ihn doch, um diese Informationen auch anderen zugänglich zu machen!

Seiteninhalt

In diesem Beitrag zeige ich dir wie du ein Pause Menü erstellen kannst. Wichtig hierbei ist, dass du dir überlegst auf welche Weise dein Spiel überhaupt pausiert werden soll. Möglichkeiten hierfür sind das Drücken einer Taste wie z.B. die Escape Taste oder das Selektieren eines Buttons auf der Benutzeroberfläche.

Unity Pause Menü erstellen

Der Ausgangspunkt ist somit deine Taste oder dein Button. Danach rufst du eine Methode auf die für das Ausführen der Pause zuständig ist. => public void Pause(); Innerhalb der Methode pausiert du nun dein Spiel, dies kannst mit Hilfe der Time.timeScale = 0f; machen.

Starte nun dein Spiel und drücke den Auslöser für die Pause. Du siehst, jetzt friert dein Spiel ein und ist somit pausiert. Der nächste Schritt ist jetzt das Deaktivieren der Pause. Hierzu musst du den Wert Time.timeScale wieder auf 1f setzen. Erstelle dir am besten eine Methode für Resume();

Hast du jetzt beispielsweise einen einzigen Button oder Taste die für das Aktivieren und Deaktivieren der Pause zuständig sind, dann lege dir eine Methode PauseOrResume an und überprüfe ob dein Spiel derzeit Pausiert ist. Sollte es der Fall sein wird das Gegenteil ausgeführt. => private bool gamePaused;

				
					using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PauseScript : MonoBehaviour {

    public GameObject pauseText;
    public bool gamePaused;

	// Use this for initialization
	void Start () {
        gamePaused = false;
	}
	
	// Update is called once per frame
	void Update ()
    {
        // Taste für Pause erkennen
		if(Input.GetButtonDown("Pause"))
        {
            print("pause wurde gedrückt");
            // Methode PauseOrResume
            PauseOrResume();
        }
	}

    public void PauseOrResume()
    {
        // Ist das Spiel derzeit pausiert?
        if(gamePaused)
        {
            // Pause ist aktiviert => Beende die Pause
            Resume();
            // Spiel jetzt pausiert => Variable ändern
            gamePaused = false;
        }
        else
        {
            // Pause nicht aktiviert => Starte die Pause
            Pause();
            // Spiel nicht pausiert => Variable ändern
            gamePaused = true;
        }
    }

    public void Pause()
    {
        // Spiel einfrieren
        Time.timeScale = 0f;
        // Pause text aktivieren
        pauseText.SetActive(true);
    }

    public void Resume()
    {
        // Spiel fortsetzen
        Time.timeScale = 1f;
        // Pause text ausblenden
        pauseText.SetActive(false);
    }
}
				
			

Hinweis: Du willst in der 3D-Entwicklung durchstarten? Dann teste jetzt nobreakpoints Pro. Dort lernst du in zahlreichen Online-Kursen und Workshops alle nötigen Skills.

Free

Trial

Keine Extra-Kosten.
Unverbindlich testen.

Bereit, deinen Weg in die 3D-Entwicklung zu starten?

Gefällt Dir der Artikel? Dann teile ihn doch, um diese Informationen auch anderen zugänglich zu machen!

Weitere Blogartikel

Bereit, deinen Weg in die 3D-Entwicklung zu starten?

Lerne in Rekordzeit alle nötigen Skills für Game Development, VR und AR – praxisnah und flexibel in deinem Tempo!

Suche

Bereit, deinen Weg in die 3D-Entwicklung zu starten?

Lerne in Rekordzeit alle nötigen Skills für Game Development, VR und AR – praxisnah und flexibel in deinem Tempo!