Cara Mengubah Resolusi Layar di Game Unity

Mengubah resolusi layar dalam game Unity setelah dibuat adalah fitur yang berguna untuk meningkatkan pengalaman pengguna dan kompatibilitas di berbagai perangkat. Unity menyediakan metode untuk menyesuaikan resolusi layar secara dinamis selama runtime. Dalam tutorial ini, kami akan memandu Anda melalui proses mengubah resolusi layar di game Unity dan mendapatkan resolusi layar yang tersedia.

Mengubah Resolusi Layar saat Runtime

Unity menyediakan API langsung untuk mengubah resolusi layar selama bermain game. Anda dapat menggunakan cuplikan kode berikut untuk mengubah resolusi layar:

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);
    }
}

Untuk memanggil metode ini dan mengubah resolusi, Anda dapat melampirkan skrip 'ResolutionManager' ke GameObject di adegan Anda dan memanggil metode 'ChangeResolution' dengan parameter mode lebar, tinggi, dan layar penuh yang diinginkan.

Mendapatkan Resolusi Layar yang Tersedia

Sebelum mengizinkan pemain mengubah resolusi layar, ada baiknya memberi mereka daftar resolusi yang tersedia. Anda dapat mengambil resolusi layar yang tersedia menggunakan kode berikut:

using UnityEngine;

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

Anda kemudian dapat menggunakan metode ini untuk mengisi menu tarik-turun atau mencantumkan elemen UI di menu pengaturan game Anda, sehingga pemain dapat memilih resolusi yang diinginkan.

'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);
    }
}
  • Lampirkan skrip 'ResolutionUI' ke GameObject yang berisi elemen dropdown UI (komponen 'Dropdown'). Kemudian, tetapkan referensi skrip dropdown dan 'ResolutionManager' di Editor Unity.

Kesimpulan

Dengan mengikuti langkah-langkah ini dan menggabungkan contoh kode yang disediakan, Anda dapat dengan lancar menerapkan perubahan resolusi layar dinamis di game Unity Anda, memberikan fleksibilitas kepada pemain dan meningkatkan pengalaman bermain game mereka secara keseluruhan.

Artikel yang Disarankan
Cara Membuat Objek Mengikuti Kursor Mouse di Unity
Cara Menjeda Game di Unity
Membuat Game Puzzle di Unity
Membuat Game Terinspirasi Pac-Man di Unity
Berinteraksi dengan Objek di Game Unity
Cara Menambahkan Efek Sniper Scope di Unity
Panduan Komprehensif untuk Mengubah Rotasi dalam Kesatuan