Seite 1 von 1

best Screenmode finden.

Verfasst: 03.06.2014 20:45
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

Re: best Screenmode finden.

Verfasst: 03.06.2014 20:49
von RSBasic
Wenn du OpenWindowedScreen() benutzt, dann kannst du den Parameter "AutoStretch" auf True setzen. Vielleicht reicht dir das schon.

Re: best Screenmode finden.

Verfasst: 03.06.2014 20:50
von True29
hey , ich habe halt sprites und diese werden ja von pb nicht angepasst ?

Re: best Screenmode finden.

Verfasst: 04.06.2014 06:00
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:

Re: best Screenmode finden.

Verfasst: 06.06.2014 00:09
von True29
danke ;)