plötzlich Fehlermeldung bei FullScreen Modus

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

Xar

Betreff: plötzlich Fehlermeldung bei FullScreen Modus

BeitragDi, Aug 17, 2010 15:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich programmiere grade etwas, das für die Auflösung 1280x960 konzipiert ist. Wenn ich das Programm im FullScreen laufen lasse, verzieht es natürlich alles in die Breite, da ich einen Breitbild Monitor habe.

Also habe ich vor dem Programm (welches normal mit dem Graphics-Befehl beginnen würde) was reinprogrammiert, das mir das Grafikfenster vertikal oder horizontal so erweitert, dass ich die kleinstmögliche Auflösung erhalte (ohne unter die Breite 1280 oder Höhe 960 zu gelangen), jedoch das exakt gleiche Seitenverhältnis erhalte.

Ich habe eine 1650 x 1050 Auflösung. Somit wird mein Grafik Fenster 1536 x 960 gross. Ich zeichne dann alles um 128 Pixel nach rechts verschoben ((1536-1280)/2) und erhalte mein Bild perfekt eingemittet.


Code: [AUSKLAPPEN]
Global EinzugLinks:Int=0
Global EinzugOben:Int=0
Local GraphicBreite:Float=1280
Local GraphicHoehe:Float=960

If Float(1280/960) < (Float(DesktopWidth()) / Float(DesktopHeight())) Then
      GraphicBreite = 960 * (Float(DesktopWidth()) / Float(DesktopHeight()))
      EinzugLinks = (GraphicBreite-1280)/2
End If
If Float(1280/960) > (Float(DesktopWidth()) / Float(DesktopHeight())) Then
      GraphicHoehe = 1280 / (Float(DesktopWidth()) / Float(DesktopHeight()))
      EinzugOben = (GraphicHoehe-960)/2
End If

Graphics Int(GraphicBreite),Int(GraphicHoehe),32,60
SetClsColor 0,0,0
Cls



Das funktioniert auch mit diversen verschiedenen Auflösungen und Desktop-Seitenverhältnissen, solange ich die Applikation nicht im FullScreen Mode starte. Tu ich das, so erhalte ich:

Unhandled Exception: Attempt to access field or method of Null object

Dabei wird immer die nächstfolgende Zeile (SetClsColor) nach dem GRAPHIC-Befehl gehighlighted. Lasse ich die weg, wird "Cls" gehighlighted. Lasse ich die auch weg, wird viel weiter unten ein SetImageFont-Befehl markiert...

An was liegt das? Der Fullscreen Mode funktionierte vor dem Einbauen dieses Programmteils vor dem GRAPHIC Befehl auch einwandfrei...

Gruss und Danke
Dani

BtbN

BeitragDi, Aug 17, 2010 17:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Monitore unterstützen solche Wilden auflösungen nicht. Die meisten können nur ihre native und einige Stufen dadrunter.

Der Eisvogel

BeitragDi, Aug 17, 2010 17:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Du könntest es ja mal mir SetVirtualResolution versuchen.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

Xar

BeitragDi, Aug 17, 2010 19:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke vorerst mal euch beiden!

@BtbN:
Ich hatte halt gehofft, die mit Graphic festgesetzte Auflösung ist völlig frei wählbar und BlitzMax skaliert das dann irgendwie selber hoch, so ähnlich wie es das mit SetScale oder so auch macht, nur hier halt für das ganze Grafik Fenster anstatt nur für ein Image.

@Eisvogel:
Werde mir diesen Befehl mal näher ansehen, sieht ganz vielversprechend aus, den kannte ich noch nicht. Beim ersten Versuch klappte es zwar noch nicht so richtig. Bringt mir dieselbe Fehlermeldung, und wenn ich auch nur testhalber

SetVirtualResolution 1280,960

setze und nicht mal in den FullScreen Mode gehe. Selbst wenn ich dieselbe Auflösung setze wie mein Bildschirm hat und diese auch noch in den Graphic-Befehl einbinde - was natürlich dann keinen Sinn macht, nur mal zum ausprobieren - immernoch dieselbe Meldung. Und highlighted die SetVirtualResolution-Zeile auch gleich.

Ich probier mal weiter...

Danke euch und Gruss
Dani

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group