Cambia la risoluzione del gioco

Pagina aggiornata :
Data di creazione della pagina :

Ambiente di verifica

Finestre
  • finestre 11
Unity Editor
  • 2021.3.1f1
Pacchetti del sistema di input
  • 1.3.0

Prerequisiti per questo suggerimento

Le seguenti impostazioni sono preconfigurate come prerequisito per la spiegazione di questi suggerimenti.

Specificare la risoluzione all'inizio del gioco

Puoi impostare la risoluzione all'inizio del gioco dalle impostazioni del progetto. Tuttavia, ci sono restrizioni come i presupposti della modalità finestra, quindi se vuoi impostarla in modo affidabile, penso che l'impostazione del programma descritto più avanti sia più affidabile.

A tale scopo, selezionare Modifica -> Impostazioni progetto dal menu.

Seleziona "Giocatore" dal menu a sinistra.

In basso, puoi trovare le impostazioni per ogni ambiente. Ad esempio, se l'icona del display all'estrema sinistra è l'impostazione dell'ambiente PC come Windows.

"Risoluzione e display" è compresso all'interno, quindi fai clic per espanderlo e seleziona "In finestra" da "Modalità a schermo intero" nel gruppo di risoluzione.

Quindi verranno visualizzati "Larghezza dello schermo predefinita" e "Altezza dello schermo predefinita", in modo da poter impostare la risoluzione (= dimensione dello schermo) qui. Questa impostazione può essere impostata solo in modalità finestra.

Ci sono impostazioni in altri ambienti, quindi controllale. Il diagramma seguente mostra la configurazione in WebGL. Risoluzione = dimensione dell'area di disegno.

Eseguire e verificare

Non riesco a verificare se è corretto anche se lo eseguo nell'editor di Unity, quindi eseguirò l'output del gioco e lo controllerò. Per istruzioni dettagliate, consulta i Suggerimenti per l'output del gioco .

Assicurarsi che sia visualizzato nelle dimensioni dello schermo specificate.

Tuttavia, anche se si modifica il valore della dimensione, la dimensione potrebbe non cambiare. Questo perché il gioco stesso ricorda la risoluzione precedente. Se si desidera assicurarsi che il display sia alla risoluzione specificata, è più affidabile cambiarla con il programma descritto di seguito.

Modificare la risoluzione dal programma

Qui, vorrei preparare la schermata seguente e controllarla a livello di codice in modo che la risoluzione cambi quando si fa clic su ogni pulsante. Per ulteriori informazioni su come gestire l'interfaccia utente e i pulsanti, vedere Suggerimenti per l'interfaccia utente .

Ecco cosa succede quando fai clic su ciascun pulsante:

using UnityEngine;

public class ButtonEvent : MonoBehaviour
{
  public void OnClick_960x540()
  {
    // 横幅 pixel、縦幅 pixel、ウィンドウモード、リフレッシュレート(Hz) を指定
    // ウィンドウモードの場合、ウィンドウサイズも変わる
    Screen.SetResolution(960, 540, FullScreenMode.Windowed, 60);
  }
  public void OnClick_1280x720()
  {
    // 横幅 pixel、縦幅 pixel、ウィンドウモード、リフレッシュレート(Hz) を指定
    // ウィンドウモードの場合、ウィンドウサイズも変わる
    Screen.SetResolution(1280, 720, FullScreenMode.Windowed, 60);
  }
  public void OnClick_1600x900()
  {
    // 横幅 pixel、縦幅 pixel、ウィンドウモード、リフレッシュレート(Hz) を指定
    // ウィンドウモードの場合、ウィンドウサイズも変わる
    Screen.SetResolution(1600, 900, FullScreenMode.Windowed, 60);
  }
}

Per i due metodi inferiori, l'unica differenza è il numero di risoluzione.

Screen.SetResolution È possibile modificare la risoluzione specificando rispettivamente "larghezza risoluzione (px)", "altezza risoluzione (px)", "modalità schermo intero" e "frequenza di aggiornamento (Hz)" negli argomenti del metodo.

Questa volta verrà impostato in modalità finestra, ma può essere impostato allo stesso modo in modalità a schermo intero.

Se vuoi forzare l'impostazione all'avvio del gioco, penso che tu possa gestirlo con un metodo di script collegato a qualche oggetto nella awake prima scena.

Eseguire e verificare

Penso che tu possa vedere che facendo clic su ogni pulsante cambia la risoluzione (+ dimensione della finestra).