Nun, als grundlegender Ratschlag würde ich auf dem PC sagen: "Gehen Sie nicht davon aus, dass Ihr Benutzer den Vollbildmodus ausführen möchte." Wählen Sie im Fenstermodus Ihr ideales Verhältnis und verwenden Sie es direkt.
Benutzer, von denen ich denke, dass sie schwarze Balken akzeptieren, wenn sie mit Vollbildinhalten dargestellt werden. Die Strategien 3 und 4 sind also akzeptabel, wenn nicht ideal. Sie haben den Vorteil, dass Sie immer wissen, wie viel Inhalt Sie rendern: dh keine heimlichen Fehler, die nur bei der Ausführung im Breitbildmodus auftreten.
Wenn Sie versuchen, sich anzupassen und die Benutzerrate über die Bildschirmauflösung zu ermitteln und so viele Inhalte wie möglich anzuzeigen, müssen Sie Inhalte mit hoher und niedriger Priorität unterschiedlich berücksichtigen. Inhalte mit hoher Priorität sind Dinge, die der Benutzer unbedingt auf dem Bildschirm sehen muss, wenn sie sich außerhalb des Bildschirms befinden, schlägt das Spiel fehl. Das sind also Dinge wie HUD- und UI-Elemente und der Player-Avatar und alles, mit dem sie interagieren. Inhalte mit niedriger Priorität sind Dinge, die gut sind, wenn sie auf dem Bildschirm angezeigt werden, aber wenn sie außerhalb des Bildschirms angezeigt werden, ist das keine große Sache. ZB: Hintergrundgrafiken und Dinge, die einigermaßen weit vom Avatar entfernt sind.
Angenommen, Sie haben eine Benutzeroberfläche / ein HUD, das über eine „physikalische“ 2D-Welt gelegt wird, dann ist dies einfach genug. Elemente mit niedriger Priorität sind einfach. Sie müssen nur sicherstellen, dass das 4: 3-Ansichtsfenster auf die interessanten Dinge zentriert ist, und dann so viele Elemente mit niedriger Priorität wie möglich nach links oder rechts zeichnen. Dinge mit hoher Priorität in der 2D-Welt (z. B. Ihr Charakter, Feinde, gegen die Ihr Charakter direkt kämpft) sollten immer im 4: 3-Ansichtsfenster aufbewahrt werden. Das heißt, Sie müssen Ihren Spielcode nicht in die Kamera zoomen, um die zusätzliche Bildschirmfläche zu nutzen, da Sie dann einen Spielcode haben, der im Breitbildmodus anders funktioniert als im Nicht-Breitbildmodus. Lassen Sie den Spielcode davon ausgehen, dass die Welt in 4: 3 gerendert wird, und lassen Sie Ihren Rendering-Code nur wissen, dass tatsächlich mehr als das sichtbar ist.
Das Erstellen von UI / HUD-Elementen kann auf zwei Arten erfolgen:
- Dynamische Positionierung: Geben Sie alle Ihre Elemente relativ zu Bildschirmrändern an (dh nicht alle relativ zu 0,0). Abhängig von Ihrem Seitenverhältnis befinden sich die Elemente näher oder weiter von der Bildschirmmitte entfernt. Vorteile: Ermöglicht es Ihnen, Dinge an Ecken zu hängen und sie einfach funktionieren zu lassen. Nachteile: Es ist schwierig, das Layout in der Mitte gut zum Laufen zu bringen, und es besteht die Gefahr, dass sich Elemente überlappen
- Konservative statische Positionierung: Platzieren Sie alle Ihre Elemente im 4: 3-Format und versetzen Sie sie einfach, wenn Sie im Breitbildmodus ausgeführt werden. Vorteile: einfache, eindeutige Layoutlogik / Koordinaten. Nachteile: Lässt links und rechts von den Steuerelementen der Benutzeroberfläche einen sichtbaren Totraum, in dem die 2D-Welt im Hintergrund angezeigt wird, jedoch keine Benutzeroberfläche.