Skift spilopløsning

Side opdateret :
Dato for oprettelse af side :

Miljø til bekræftelse

Windows
  • Windows 11
Enhedslistens redaktør
  • 2021.3.1f1
Input System Pakker
  • 1.3.0

Forudsætninger for dette tip

Følgende indstillinger er forudkonfigureret som en forudsætning for forklaringen af disse tip.

Angivelse af opløsningen i starten af spillet

Du kan indstille opløsningen i starten af spillet fra projektindstillingerne. Der er dog begrænsninger som antagelser om vinduestilstand, så hvis du vil indstille det pålideligt, tror jeg, at indstillingen af det program, der beskrives senere, er mere pålidelig.

For at gøre dette skal du vælge Rediger -> Projektindstillinger i menuen.

Vælg "Player" i menuen til venstre.

Nederst kan du finde indstillingerne for hvert miljø. For eksempel, hvis displayikonet yderst til venstre er indstillingen af pc-miljøet såsom Windows.

"Opløsning og skærm" er skjult indeni, så klik for at udvide den, og vælg "Vindue" fra "Fuldskærmstilstand" i opløsningsgruppen.

Derefter vises "Standard skærmbredde" og "Standard skærmhøjde", så du kan indstille opløsningen (= skærmstørrelse) her. Denne indstilling kan kun indstilles i vinduestilstand.

Der er indstillinger i andre miljøer, så tjek dem. Følgende diagram viser konfigurationen i WebGL. Opløsning = lærredets størrelse.

Kør og bekræft

Jeg kan ikke kontrollere, om det er korrekt, selvom jeg kører det i Unity Editor, så jeg udsender spillet og tjekker det. Du kan finde detaljerede instruktioner i Tips til spiloutput .

Sørg for, at den vises på den angivne skærmstørrelse.

Men selvom du ændrer størrelsesværdien, ændres størrelsen muligvis ikke. Dette skyldes, at selve spillet husker den tidligere opløsning. Hvis du vil sikre dig, at displayet har den angivne opløsning, er det mere pålideligt at ændre det med programmet beskrevet nedenfor.

Skift opløsningen fra programmet

Her vil jeg gerne forberede følgende skærmbillede og styre det programmatisk, så opløsningen ændres, når der klikkes på hver knap. Du kan finde flere oplysninger om, hvordan du håndterer brugergrænsefladen og knapperne, under Tips til brugergrænsefladen .

Her er, hvad der sker, når du klikker på hver knap:

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

For de to nederste metoder er den eneste forskel opløsningsnummeret.

Screen.SetResolution Du kan ændre opløsningen ved at angive henholdsvis "opløsningsbredde (px)", "opløsningshøjde (px)", "fuldskærmstilstand" og "opdateringshastighed (Hz)" i metodeargumenterne.

Denne gang indstilles den i vinduestilstand, men den kan indstilles på samme måde i fuldskærmstilstand.

Hvis du vil tvinge det til at blive indstillet, når spillet starter, tror jeg, du kan håndtere det med en scriptmetode, der er knyttet til et objekt i den awake første scene.

Kør og bekræft

Jeg tror, du kan se, at klik på hver knap ændrer opløsningen (+ vinduesstørrelse).