Tạo Menu tạm dừng trong Unity

Việc thêm menu tạm dừng là rất quan trọng đối với bất kỳ trò chơi Unity nào, giúp người chơi có chút thời gian để thở và truy cập các tùy chọn. Hướng dẫn này hướng dẫn bạn trong quá trình tạo nó, bao gồm các ví dụ và giải thích về mã.

1. Thiết kế menu tạm dừng của bạn

  • Phác thảo bố cục mong muốn của bạn, bao gồm các nút (Tiếp tục, Tùy chọn, Thoát).
  • Hãy cân nhắc sử dụng các tấm trong suốt để có cảm giác ít xâm phạm hơn.

2. Tạo Canvas

  • Trong bảng Hierarchy, nhấp chuột phải và chọn "UI -> Canvas".
  • Đặt "Render Mode" thành "Screen Space - Overlay" để có vị trí thích hợp.

3. Xây dựng bảng menu

  • Trong Canvas, nhấp chuột phải và chọn "UI -> Panel".
  • Thay đổi kích thước và định vị bảng điều khiển theo thiết kế của bạn.
  • Đổi tên nó thành "PauseMenu" để tổ chức tốt hơn.

4. Thêm nút

  • Nhấp chuột phải vào bảng PauseMenu và chọn "UI -> Button."
  • Lặp lại cho mỗi nút bạn muốn (Tiếp tục, Tùy chọn, Thoát).
  • Đặt tên cho chúng một cách thích hợp (ví dụ: "ResumeButton").
  • Tùy chỉnh văn bản, kích thước và vị trí của chúng.

5. Viết kịch bản logic

  • Tạo một tập lệnh C# mới có tên "PauseMenu.cs."
  • Đính kèm tập lệnh vào đối tượng PauseMenu trong Hệ thống phân cấp.

6. Chức năng tạm dừng

'PauseMenu.cs'

public class PauseMenu : MonoBehaviour
{
    public bool isPaused; // Flag to track pause state

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            // Toggle pause state on Escape key press
            isPaused = !isPaused;
            if (isPaused)
            {
                PauseGame();
            }
            else
            {
                ResumeGame();
            }
        }
    }

    void PauseGame()
    {
        // Set Time.timeScale to 0 to pause gameplay
        Time.timeScale = 0;
        // Make PauseMenu panel visible (activate its gameObject)
        PauseMenu.gameObject.SetActive(true);
    }

    void ResumeGame()
    {
        // Set Time.timeScale back to 1 to resume gameplay
        Time.timeScale = 1;
        // Hide PauseMenu panel (deactivate its gameObject)
        PauseMenu.gameObject.SetActive(false);
    }
}

7. Tương tác nút

  • Trong cửa sổ Thanh tra, chọn từng nút.
  • Nhấp vào dấu "+" bên cạnh "OnClick" và kéo tập lệnh 'PauseMenu' vào trường.
  • Chọn chức năng thích hợp (ví dụ: ResumeGame cho ResumeButton).

8. Chạm bổ sung

  • Tùy chỉnh kiểu nút, thêm hiệu ứng âm thanh hoặc triển khai các menu tùy chọn.
  • Hãy cân nhắc sử dụng prefabs để có thể sử dụng lại giữa các cảnh.

Phần kết luận

Hy vọng rằng hướng dẫn này đã giúp bạn có một khởi đầu thuận lợi trong việc xây dựng menu tạm dừng hoạt động trong Unity. Hãy nhớ mở rộng dựa trên cơ sở này bằng cách thêm nhiều tính năng hơn và điều chỉnh nó cho phù hợp với nhu cầu trò chơi cụ thể của bạn.

Bài viết được đề xuất
Tạo giao diện người dùng màn hình người chiến thắng trong Unity
Tạo mô phỏng chuyến bay trong Unity
Sức mạnh của kết cấu giữ chỗ để tạo nguyên mẫu trong Unity
Tạo hiệu ứng bọt máy rửa áp lực trong Unity
Tạo thanh tiến trình xuyên tâm/tròn trong Unity
Tạo một Shader cỏ đơn giản trong Unity
Tạo hiệu ứng bộ lọc băng VHS trong Unity