3 Stimmen

XNA/C# Spiel Einstellungen (Menü?)

Es ist das erste Mal, dass ich versuche, etwas wirklich Interessantes in C# zu erstellen, und ich habe versucht, ein einfaches Formular oder eine Spielscreen zu erstellen, auf dem der Benutzer eine benutzerdefinierte Auflösung/Bildschirmverhältnis usw. definieren könnte oder automatisch die maximal mögliche Bildschirmgröße/-verhältnis erkennen und ausgeben könnte? Es ist mein erstes Spiel, daher frage ich mich, ob es möglich wäre oder ob es größere Probleme damit gäbe, anstatt es einfach auf 1366x768 (die Auflösung aller meiner Computer) zu setzen. Vielen Dank im Voraus für jede Hilfe.

3voto

Bob Punkte 7651

Du könntest durch die standardmäßige GraphicAdapter's DisplayModeCollection Eigenschaft durchlaufen, um den DisplayMode mit der maximalen Breite/Höhe/Seitenverhältnis zu finden.

So etwas wie:

GraphicsAdapter defaultAdapter = GraphicsAdapter.DefaultAdapter;
DisplayMode maxMode = defaultAdapter.DisplayModeCollection[0];
foreach (DisplayMode enumeratedDisplay in defaultAdapter.DisplayModeCollection)
{
    //Teste enumeratedDisplay gegen maxMode und setze maxMode auf enumeratedDisplay, wenn enumeratedDisplay besser ist
}

Vielleicht gibt es einen besseren Weg, aber das ist sicherlich eine Möglichkeit, das Maximum zu finden.

Oder du könntest dieselbe DisplayModeCollection verwenden und eine Art ComboBox oder eine Liste füllen, sodass der Benutzer selbst auswählen kann.

Entschuldigung, wenn der obige Code in dieser genauen Form nicht funktioniert. Ich kann es momentan nicht testen.

1voto

Joel Martinez Punkte 45129

Setzen Sie einfach das PreferredBackBuffer auf 1366x768 und wenn das Grafikgerät diese Auflösung verarbeiten kann, bekommen Sie sie. Andernfalls erhalten Sie etwas skaliertes. Die Xbox skaliert automatisch, um gegebenenfalls den verwendeten Fernseher zu unterstützen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X