Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

01.09.2014, 16:53

Löve2D Fullscreen Auflösung

Guten Tag liebe Spieleprogrammierer!

Ich bin gerade dabei ein Projekt umzusetzen, das im Pixelart-Stil gehalten ist. Bisher habe ich es so gemacht, dass ich eine feste, relative kleine Auflösung gesetzt habe, die anschließend im Windowed-Modus ausgeführt wurde. Jetzt würde ich das ganze allerdings gerne weniger schlampig sondern korrekt lösen und die Fullscreen-Auflösung des Bildschirms ermitteln und anschließend meine Auflösung und das gesamte Spiel entsprechende hochskalieren. Da es ein Pixel-Art Game wird muss ich nicht um Qualitätsverluste fürchten beim Skalieren.
Nur fehlt mir jetzt die entsprechende Lösung - hat jemand Erfahrung damit wie so etwas umgesetzt wird?

Vielen Dank im Voraus!

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

2

01.09.2014, 16:58

Ich weiß nicht, ob sich das so auch mit Löve machen lässt, gründsätzlich wäre es aber eine Überlegung wert, im Hintergrund eine "Zeichenfläche" mit der bisherigen Größe zu haben und diese dann skaliert (mit der richtigen Filterung) auf den Bildschirm zu bringen.
Im Gegensatz zu jetzt kannst du aber nicht ganz so ohne weiteres die bisher verwendete Auflösung nehmen, sondern musst diese entsprechend des Seitenverhältnis des Bildschirms ein wenig anpassen oder bspw. den nicht abgedeckten Platz mit etwas (Farbe, Rahmen, Farbverlauf, ...) füllen.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

3

01.09.2014, 17:48

Das mit dem Seitenverhältnis war mir bereits klar, aber danke nochmal fürs drauf hinweisen :)
Ich wollte dann einfach 16:9, 16:10 und 4:3 als die Auswahl fürs Seitenverhältnis geben, das sollte normalerweise ausreichen oder?

Bezüglich der Skalierung:
Ich habe schon versucht etwas entsprechendes im Wiki von Löve zu finden, aber bisher bin ich auf nichts gestoßen. Wenn jemand noch einen Tipp dazu hat bitte immer her damit :)!

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

4

01.09.2014, 18:25

Das Problem hast du nunmal mit jedem 2D-Spielchen. Wenn du es nur hochskalieren willst, dann gibt es bei Löve doch eine RenderTarget-Lösung. In Löve 0.8 sind das Canvas-Elemente.

Schön finde ich die Lösung allerdings nicht. Durch das Verändern des Seitenverhältnisses wird dein Bild gestreckt oder gestaucht. Normalerweise sieht man dann einfach etwas mehr oder weniger , wenn das Seitenverhältnis sich verändert.

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

5

01.09.2014, 20:15

Das von TrommlBomml erwähnte Canvas-Elemente ist wohl das was ich meinte, ich kannte es nur leider nicht.

Welche Lösung genau nicht schön sein soll, verstehe ich gerade nicht ganz.

Ansonsten hat er recht damit, dass das Strecken/Stauchen von 16:9 (Zielseitenverhältnis) zu bspw. 4:3 (tatsächliches Seitenverhältnis) nicht gut aussehen wird. (Bei einem geringen Unterschied (16:9 zu 16:10) wird sich das vielleicht nicht so stark bemerkbar machen, es ist aber dennoch eher eine Verschlechterung.)
Die beiden Möglichkeiten in dem Zusammenhang wurden bereits genannt (mehr vom Inhalt mit niedriger Auflösung im richtigen Seitenverhältnis rendern oder Rahmen/schwarze Balken in Kauf nehmen).
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

6

02.09.2014, 11:56

Vielen Dank TrommlBomml!

Nein so meinte ich das nicht, habe mich wahrscheinlich einfach unpräzise ausgedrückt :)
Ich möchte je nach Seitenverhältnis eben mehr vom Spielinhalt zeigen, so wie es ja auch korrekterweise gemacht werden würde!
Und nocheinmal danke auch an dich Sacaldur!

Werbeanzeige