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.