איך להשהות משחק באחדות

ברוכים הבאים למדריך על הטמעת תכונת pause ב-Unity. תכונה פשוטה אך חיונית זו יכולה לשפר מאוד את חווית הנגן. בואו נצלול לתוך המדריך שלב אחר שלב:

שלב 1: צור סקריפט PauseManager

  • התחל על ידי יצירת סקריפט C# חדש ב-Unity ושם לו "PauseManager" או שם לבחירתך.

שלב 2: יישם את פונקציית ההשהיה

  • פתח את הסקריפט והחלף את הקוד הקיים בקוד הבא:

'PauseManager.cs'

using UnityEngine;

public class PauseManager : MonoBehaviour
{
    private bool isPaused = false;

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (isPaused)
                ResumeGame();
            else
                PauseGame();
        }
    }

    void PauseGame()
    {
        Time.timeScale = 0f;
        isPaused = true;

        // Pause all audio
        AudioListener.pause = true;
    }

    void ResumeGame()
    {
        Time.timeScale = 1f;
        isPaused = false;

        // Resume all audio
        AudioListener.pause = false;
    }
}

שלב 3: צרף את הסקריפט ל-GameObject ריק

  • צור GameObject ריק בסצנה שלך וצרף את הסקריפט "PauseManager" אליו. סקריפט זה יטפל כעת בפונקציונליות ההשהיה, כולל השהיה וחידוש השמע.

שלב 4: התאם אישית לפי הצורך

  • אל תהסס להתאים אישית את התסריט בהתאם לדרישות המשחק שלך. אתה יכול לשנות את הטריגר המפתח, להוסיף תכונות נוספות או לשנות את ההתנהגות כך שתתאים לצרכים הספציפיים שלך.

סיכום

כעת, כאשר לוחצים על המקש המיועד בזמן ריצה (ברירת המחדל היא Escape), המשחק יעשה השהה בצורה חלקה, כולל הפסקה בכל האודיו. עם חידוש המשחק, גם המשחק וגם האודיו ימשיכו בצורה חלקה, ויספקו חווית משחק סוחפת יותר.