Ändra spelupplösningen

Sidan uppdaterad :
Datum för skapande av sida :

Miljö för verifiering

Windows
  • Windows 11 (på engelska)
Unity-redigeraren
  • 2021.3.1f1
Paket för indatasystem
  • 1.3.0

Förutsättningar för det här tipset

Följande inställningar är förkonfigurerade som en förutsättning för förklaringen av dessa tips.

Ange upplösningen i början av spelet

Du kan ställa in upplösningen i början av spelet från projektinställningarna. Det finns dock begränsningar som fönsterlägesantaganden, så om du vill ställa in det på ett tillförlitligt sätt tror jag att inställningen av programmet som beskrivs senare är mer tillförlitlig.

Det gör du genom att välja Redigera -> Projektinställningar på menyn.

Välj "Spelare" i menyn till vänster.

Längst ned hittar du inställningarna för varje miljö. Till exempelample, om visningsikonen längst till vänster är inställningen för PC-miljön som Windows.

"Upplösning och visning" är komprimerad inuti, så klicka för att expandera den och välj "Fönster" från "Helskärmsläge" i upplösningsgruppen.

Då kommer "Standard skärmbredd" och "Standardskärmhöjd" att visas, så att du kan ställa in upplösningen (= skärmstorleken) här. Den här inställningen kan endast ställas in i fönsterläge.

Det finns inställningar i andra miljöer, så kontrollera dem. Följande diagram visar konfigurationen i WebGL. Upplösning = storleken på arbetsytan.

Kör och verifiera

Jag kan inte kontrollera om det är korrekt även om jag kör det i Unity-redigeraren, så jag matar ut spelet och kontrollerar det. Detaljerade anvisningar finns i Tips för spelutdata .

Se till att den visas på den angivna skärmstorleken.

Men även om du ändrar storleksvärdet kanske storleken inte ändras. Detta beror på att spelet självt kommer ihåg den tidigare upplösningen. Om du vill vara säker på att skärmen har den angivna upplösningen är det mer tillförlitligt att ändra den med programmet som beskrivs nedan.

Ändra upplösningen från programmet

Här skulle jag vilja förbereda följande skärm och styra den programmatiskt så att upplösningen ändras när varje knapp klickas. Mer information om hur du hanterar användargränssnitt och knappar finns i Användargränssnittstips .

Så här går det till när du klickar på varje knapp:

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

För de två nedersta metoderna är den enda skillnaden upplösningsnumret.

Screen.SetResolution Du kan ändra upplösningen genom att ange "upplösningsbredd (px)", "upplösningshöjd (px)", "helskärmsläge" och "uppdateringsfrekvens (Hz)" i metodargumenten.

Den här gången kommer den att ställas in i fönsterläge, men den kan ställas in på samma sätt i helskärmsläge.

Om du vill tvinga den att ställas in när spelet startar tror jag att du kan hantera det med en skriptmetod kopplad till något objekt i den awake första scenen.

Kör och verifiera

Jag tror att du kan se att klicka på varje knapp ändrar upplösningen (+ fönsterstorlek).