Cách thay đổi độ phân giải màn hình trong trò chơi Unity

Thay đổi độ phân giải màn hình trong trò chơi Unity sau khi trò chơi này được xây dựng là một tính năng hữu ích để nâng cao trải nghiệm người dùng và khả năng tương thích trên các thiết bị khác nhau. Unity cung cấp các phương pháp tự động điều chỉnh độ phân giải màn hình trong thời gian chạy. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn quy trình thay đổi độ phân giải màn hình trong trò chơi Unity của bạn và lấy độ phân giải màn hình có sẵn.

Thay đổi độ phân giải màn hình trong thời gian chạy

Unity cung cấp một API đơn giản để thay đổi độ phân giải màn hình trong khi chơi trò chơi. Bạn có thể sử dụng đoạn mã sau để thay đổi độ phân giải màn hình:

using UnityEngine;

public class ResolutionManager : MonoBehaviour
{
    // Method to change screen resolution
    public void ChangeResolution(int width, int height, bool fullscreen)
    {
        Screen.SetResolution(width, height, fullscreen);
    }
}

Để gọi phương thức này và thay đổi độ phân giải, bạn có thể attach tập lệnh 'ResolutionManager' vào GameObject trong cảnh của bạn và gọi phương thức 'ChangeResolution' với các tham số chế độ toàn màn hình, chiều rộng và chiều cao mong muốn.

Nhận độ phân giải màn hình có sẵn

Trước khi cho phép người chơi thay đổi độ phân giải màn hình, việc cung cấp cho họ danh sách các độ phân giải có sẵn sẽ rất hữu ích. Bạn có thể truy xuất độ phân giải màn hình có sẵn bằng mã sau:

using UnityEngine;

public class ResolutionManager : MonoBehaviour
{
    // Method to get available screen resolutions
    public Resolution[] GetAvailableResolutions()
    {
        return Screen.resolutions;
    }
}

Sau đó, bạn có thể sử dụng phương pháp này để điền vào menu thả xuống hoặc liệt kê thành phần giao diện người dùng trong menu cài đặt của trò chơi, cho phép người chơi chọn độ phân giải ưa thích của họ.

'ResolutionUI.cs'

using UnityEngine;
using UnityEngine.UI;

public class ResolutionUI : MonoBehaviour
{
    public Dropdown resolutionDropdown;
    public ResolutionManager resolutionManager;

    void Start()
    {
        // Populate dropdown with available resolutions
        Resolution[] resolutions = resolutionManager.GetAvailableResolutions();
        resolutionDropdown.ClearOptions();
        
        List<string> options = new List<string>();
        foreach (Resolution res in resolutions)
        {
            options.Add(res.width + "x" + res.height);
        }
        resolutionDropdown.AddOptions(options);
    }

    // Method to handle resolution change from UI
    public void OnResolutionChanged(int index)
    {
        Resolution[] resolutions = resolutionManager.GetAvailableResolutions();
        Resolution selectedResolution = resolutions[index];
        resolutionManager.ChangeResolution(selectedResolution.width, selectedResolution.height, true);
    }
}
  • Đính kèm tập lệnh 'ResolutionUI' vào GameObject có chứa thành phần thả xuống giao diện người dùng (thành phần 'Thả xuống'). Sau đó, chỉ định danh sách thả xuống và tham chiếu tập lệnh 'ResolutionManager' trong Trình chỉnh sửa Unity.

Phần kết luận

Bằng cách làm theo các bước này và kết hợp các ví dụ về mã được cung cấp, bạn có thể triển khai liền mạch các thay đổi về độ phân giải màn hình động trong trò chơi Unity của mình, mang đến cho người chơi sự linh hoạt và nâng cao trải nghiệm chơi trò chơi tổng thể của họ.

Bài viết được đề xuất
Tạo trò chơi giải đố trong Unity
Tạo trò chơi lấy cảm hứng từ Pac-Man trong Unity
Tạo trò chơi theo lượt trong Unity
Tương tác với các đối tượng trong trò chơi Unity
Tạo cảnh trò chơi trong Unity
Làm thế nào để trở thành một lập trình viên giỏi hơn trong Unity
Tạo GrabPack trong Unity Lấy cảm hứng từ Poppy Playtime