كيفية إيقاف اللعبة مؤقتًا في Unity

مرحبًا بك في البرنامج التعليمي حول تنفيذ ميزة 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)، سيتم تشغيل اللعبة بسلاسة pause، بما في ذلك إيقاف مؤقت لكل الصوت. عند الاستئناف، ستستمر كل من اللعبة والصوت بسلاسة، مما يوفر تجربة لعب أكثر غامرة.