best Screenmode finden.

Für allgemeine Fragen zur Programmierung mit PureBasic.
True29
Beiträge: 283
Registriert: 18.08.2012 19:18
Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
Wohnort: Worms
Kontaktdaten:

best Screenmode finden.

Beitrag von True29 »

Hi , folgendes vorgehen.
Ich habe zum größe anpassen des Games einen Windowbound von 200px in x und y eingestellt das klappt so weit;)
nun soll das tool hier beim starten feststellen ob die minimum px gegeben sind wenn nicht soll es dementsprechend den windowbound anpassen, also das fenster kleiner machen.
bevor ich es auf anderen rechnern teste wollte ich euch um eure meinung / rat bitten.
Alle Grafiken nun resizen zu lassen bin ich zu faul daher diese einfache variante.

Code: Alles auswählen

Procedure INIT_SCREENRES()
  Protected NewList screenmode.point()
  Protected.i  WINDOW_HEIGH,WINDOW_WIDTH
  
  ;// find alle modes
  If ExamineScreenModes()
    While NextScreenMode()
      AddElement(screenmode())
      screenmode()\x = ScreenModeWidth()
      screenmode()\y = ScreenModeHeight()
    Wend
  EndIf

  ;select best mode wich is size is > than MINWINDOW and save it .
  ResetList(screenmode())
  ForEach screenmode()
    If screenmode()\x > #MINWINDOW_WIDTH And screenmode()\y > #MINWINDOW_HEIGHT
      WINDOW_WIDTH = screenmode()\x
      WINDOW_HEIGH = screenmode()\y
    EndIf    
  Next
  
  ;// resize to given size.
  If WINDOW_WIDTH < #WINDOW_WIDTH And WINDOW_HEIGH < #WINDOW_HEIGHT
    Spieler\WINDOW_HEIGH = WINDOW_HEIGH
    Spieler\WINDOW_WIDTH = WINDOW_WIDTH
  Else
    ;// set default screen size
    Spieler\WINDOW_HEIGH = #WINDOW_HEIGHT 
    Spieler\WINDOW_WIDTH = #WINDOW_WIDTH    
  EndIf
  
EndProcedure
i7,12gb ram , Windows 10 ,Purebasic 5.50
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: best Screenmode finden.

Beitrag von RSBasic »

Wenn du OpenWindowedScreen() benutzt, dann kannst du den Parameter "AutoStretch" auf True setzen. Vielleicht reicht dir das schon.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
True29
Beiträge: 283
Registriert: 18.08.2012 19:18
Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
Wohnort: Worms
Kontaktdaten:

Re: best Screenmode finden.

Beitrag von True29 »

hey , ich habe halt sprites und diese werden ja von pb nicht angepasst ?
i7,12gb ram , Windows 10 ,Purebasic 5.50
Benutzeravatar
Regenduft
Beiträge: 574
Registriert: 25.03.2008 15:07
Wohnort: THE LÄÄÄND!

Re: best Screenmode finden.

Beitrag von Regenduft »

Du würfelst da ein paar Sachen durcheinander...

WindowBounds() bezieht sich auf Fenster, funktioniert also nur in Verbindung mit der Kombo OpenWindow() und OpenWindowedScreen().
ExamineScreenModes() listet alle verfügbaren Screenmodes auf und bezieht sich somit auf OpenScreen().
True29 hat geschrieben:hey , ich habe halt sprites und diese werden ja von pb nicht angepasst ?
Doch... genau wie RSBasic schreibt... funktioniert das halt nur mit OpenWindowedScreen() nicht mit OpenScreen(). Musst die PB-Hilfe ein bisschen genauer lesen. :wink:

Wobei... eigentlich hast Du recht... die Sprites werden nicht von PB angepasst, sondern von Windows bzw. DirectX. :mrgreen:
PureBasic 5.73 LTE x86/x64 | Windows 7 (x64)
True29
Beiträge: 283
Registriert: 18.08.2012 19:18
Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
Wohnort: Worms
Kontaktdaten:

Re: best Screenmode finden.

Beitrag von True29 »

danke ;)
i7,12gb ram , Windows 10 ,Purebasic 5.50
Antworten