Graphikfehler bei zu hohen Auflösungen

Previous topic - Next topic

S. P. Gardebiter

Hi, ich habe gerade herrausgefunden dass GLBasic die Koordinaten von Grafikbefehlen "verschiebt", wenn Auflösungen in einem Fenster größer (oder auch genauso groß) als die Bildschirmauflösung sind.
~ Cave Story rules! ~

Kitty Hello

Verstehe ich nicht. Bitte Beispiel?

S. P. Gardebiter

Du hast eine Auflösung von 1024x768. Setze nun mit Showscreen die Größe des Fensters auf 1024x800 im windowed mode. Dann zeichnest du einen Sprite der 200x200 groß ist. Und er wird von der "Höhe" des Sprites etwas verschlucken. Das würde auch passieren wenn dein Fenster 1024x768 groß wäre. (Vielleicht sogar, wenn es noch gerade so in die Bildschirmauflösung mit reinpasst)
~ Cave Story rules! ~

S. P. Gardebiter

Okay, ich beschreibe es nochmal genauer:

Mein Spiel benutzt 1536x1152 als Auflösung. Mein Kumpel benutzt 1920x1200 als Auflösung für den Desktop. Es sollte somit eigentlich kein Problem darstellen mein Spiel in einer hohen Auflösung zu benutzen. (im Fenstermodus)

http://img232.imageshack.us/img232/2412/screenfrshi51.jpg

Erstmal startet das Fenster nicht so dass man es gut sehen kann, sondern irgendwo unten rechts in der Botanik. Dann kann man es nichtmal verschieben, weil ich Systempointer auf Aus gestellt habe. (Ich benutze ein Fadenkreuz, der Cursor würde nur stören)

Nun denn, wenn man erstmal 5 minuten rumgetrickst hat, um das Fenster irgendwie doch verschieben zu können, ergibt sich folgendes Bild:

http://img180.imageshack.us/img180/1295/screenfrshi52.jpg

Wieso verschluckt der die hälfte von meinem Bild?

Mein Vergrößerungscode:

Code (glbasic) Select
IF Zoom% > 1
ALPHAMODE 0
GRABSPRITE 1, 0, 0, 512, 384
CLEARSCREEN
ZOOMSPRITE 1, 256, 192, Zoom%, Zoom%
ENDIF


Native Auflösung = 512x384
In diesem Fall war Zoom = 3.

Wieso buggt das Ding so rum? Oder bin ich einfach zu blöd? :x
~ Cave Story rules! ~

Kitty Hello

Wie groß ist der Bereich der gelkippt wird? Kann seine Grafikkarte nur 1024x1024 Texturen (GRABSPRITE).

Das Fenster solle doch immer mittig auf dem Bildschirm sein. AHHH! Machst Du SETSCREEN? Da behalte ich die linke obere Ecke bei.
Mach mal in den Projekt Optionen die Aufläsung auf 1024x768 statt 640x480.

S. P. Gardebiter

Quote from: Kitty Hello on 2010-May-19
Wie groß ist der Bereich der gelkippt wird? Kann seine Grafikkarte nur 1024x1024 Texturen (GRABSPRITE).

512x384 wird vergrößert auf 1536x1152. Hatte ich aber geschrieben o: Grabsprite holt sich den Sprite und benutzt dabei die Größe 512x384.

Quote from: Kitty Hello on 2010-May-19Das Fenster solle doch immer mittig auf dem Bildschirm sein. AHHH! Machst Du SETSCREEN? Da behalte ich die linke obere Ecke bei.
Mach mal in den Projekt Optionen die Aufläsung auf 1024x768 statt 640x480.

SETSCREEN mache ich nicht.
Die Auflösung erhöhen halte ich für keine gute Idee, denn die Auflösung lässt sich in meinem Spiel beliebig verstellen, sodass sie auf möglichst vielen System läuft :x
~ Cave Story rules! ~

Kitty Hello

Wenn Du ein Program startest, zentriert GLBasic das Fenster mit der Größe, die du bei den Platformoptions angibst. Bei einer Änderung mit SETSCREEN wird die linke obere Ecke beibehalten.
Darum bei Platformoptions den ca. größten Wert angeben, den Du einstellen kannst.
Oder: SYSTEMPOINTER TRUE während dem Titelbild. ;)

Wenn das Fenster an Anfang da ist - geht dann das Skalieren?

S. P. Gardebiter

Wie meinst du das mit dem Anfang und dem Skalieren?

Die Lösung mit den Platformoptions stellt mich nicht ganz zufrieden, wenn ich eine Auflösung von 800x600 habe, verschwindet das auf 1024x768 eingstellte Spiel oben links in der Ecke:

http://img291.imageshack.us/img291/1475/800x600.png

Auch wenns eigentlich nur 512x384 groß ist D;

Das allerwichtigste ist mir aber Kompatibilität, auch für alte Systeme. Bis vor 2 Jahren hab ich sogar noch 800x600 benutzt, weil ich nur einen alten kleinen Röhrenmonitor hatte und das obwohl der Rest von meinem Rechner eig. relativ neu ist.

Bei meinem Kumpel sieht das ganze noch genauso wie voher aus wenn ich auf 1024x768 stelle:

http://img168.imageshack.us/img168/5656/scrbm.png

Naja, gut, es war eine ungepatchte map, deshalb war das Tileset nicht geladen, aber sonst genau das selbe.
~ Cave Story rules! ~

Kitty Hello

Hat der 2 Monitore? Ich werde das bei SETSCREEN jetzt immer in die Mitte packen, OK?

Kitty Hello

Ocean - teste mal wie das jetzt gerade ist - macht der Dein Fenster Mittig auf den Haupt-Bildschirm?

S. P. Gardebiter

#10
Ups. Tut mir leid Gernot, natürlich mache ich SETSCREEN.
Ich Idiot hab es mit USESCREEN verwechselt.
Mein Fehler.

Quote from: Kitty Hello on 2010-May-20
Hat der 2 Monitore? Ich werde das bei SETSCREEN jetzt immer in die Mitte packen, OK?

Ja der hat 2 Monitore. Hm, was ich jetzt genau machen muss, ist eigentlich nicht so wichtig. Hauptsache ist eigentlich, dass ich eine Lösung habe die multiplatform und einigermaßen schnell ist. Also würde das mit dem SETSCREEN klar gehen o:
~ Cave Story rules! ~