Aktuelle Zeit: 04.07.2020 05:10

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: OpenWindowedScreen resize
BeitragVerfasst: 17.09.2019 09:53 
Offline

Registriert: 17.09.2019 09:44
Hallo Zusammen,

bin absoluter Neuling und mache die ersten Gehversuche......

habe leider nichts in der Doku gefunden wie man beim ‚resizen‘ eines Fensters einen ‚OpenWindowedScreen‘ mitändern kann.

Code:
InitSprite()
InitKeyboard()

x_size = 1024
y_size = 768

;
w_main_h = OpenWindow(0,10,10,x_size,y_size,"not working", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget)

OpenWindowedScreen(w_main_h,0,0,x_size,y_size,0,0,0,#PB_Screen_WaitSynchronization)

Repeat
  ;
  ClearScreen(0)
  ;
 
  x = (x+1) % x_size
  y = (y+1) % y_size
 
 
   
  StartDrawing(ScreenOutput())
    Box(0,y,x_size,20,RGB(255,0,0))
    Box(x,0,20,y_size,RGB(128,128,128))
  StopDrawing()
  ;
  FlipBuffers()
  ;
  event = WindowEvent()
  ;
 
  Select event
   
          Case #PB_Event_Gadget
      quit = 1

    Case #PB_Event_SizeWindow
  ;richtiger Event?

  EndSelect
     
 
Until event = #PB_Event_CloseWindow
;
CloseScreen()
CloseWindow(0)


würde gerne das Fenster (WindowedScreen) dynamisch in der Größe oder in Fullscreen zeichnen lassen, leider ist mir nicht klar wie ich die in ‚OpenWindow‘ und ‚OpenWindowedScreen‘ gesetzten Größen dynamisch ändern kann.....


oder ist der Ansatz völlig falsch?


Danke


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen resize
BeitragVerfasst: 17.09.2019 09:57 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Hilfe hat geschrieben:
OpenWindowedScreen(WindowID, x, y, Breite, Höhe [, AutoStretch, RightOffset, BottomOffset [, FlipModus]])
AutoStretch (optional): Ist dieser auf #True gesetzt, dann wird die Größe des Bildschirmbereichs automatisch angepasst (und der Inhalt auf die neue Bildschirm-Größe gezoomt), wenn sich die Fenstergröße ändert.


Wenn du die Fenstergröße manuell oder mit ResizeWindow() änderst, ändert sich auch der Screenbereich.

Meintest du das?

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen resize
BeitragVerfasst: 17.09.2019 10:29 
Offline
Benutzeravatar

Registriert: 25.09.2016 01:42
Mit Tricks ist es immerhin möglich die Größe des Renderbereichs zu ändern.

Die Aspect Ratio jedoch wird nicht berücksichtigt somit ist AutoStretch oft nutzlos.

Um zu gewährleisten das Spiele/Animationen überall gleichschnell laufen kann SetFrameRate()
verwendet werden was momentan jedoch je nach VSync des Monitors zur hohen CPU Auslastung führen kann.
Bug im internen Timing/Eventhandling!

Also lieber eignen Timer Code schreiben da sonst die Anwendung nirgends gleich schnell laufen wird.

_________________

Links:
PureBasic Discord
[INCLUDE] GLFW 3.3 Library
[MODULE] Bass Library 2.4 (Win)
[LIBRARY] Hexi Binary2Hex (Win)



Zuletzt geändert von Mijikai am 17.09.2019 10:53, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen resize
BeitragVerfasst: 17.09.2019 10:44 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Es gibt noch die Möglichkeit, per WinAPI die Größe des Screenbereichs zu ändern:
Code:
SetWindowPos_(FindWindowEx_(WindowID(0),0,"Static",0), 0, 0, 0, WindowWidth(0), WindowHeight(0), #SWP_SHOWWINDOW | #SWP_NOZORDER | #SWP_FRAMECHANGED)

Ist aber fast das gleiche wie wenn man den Parameter AutoStretch benutzt. Der einzige Vorteil bei dieser Variante ist, dass man die Abstände selber bestimmen kann, so dass man z.B. daneben ein paar Gadgets plazieren kann.

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen resize
BeitragVerfasst: 17.09.2019 11:52 
Offline

Registriert: 17.09.2019 09:44
danke euch für die Infos .....

....leider fehlt mir der 'Pfennig and der Mark' wo ich anfangen soll :(


ich würde gerne das kleine Programm wie attached h***s://my.hidrive.com/lnk/kvggnahU (in B4J geschrieben) zum Anfang in PB nachbauen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen resize
BeitragVerfasst: 17.09.2019 12:09 
Offline
Benutzeravatar

Registriert: 20.04.2006 09:50
Eventuell kannst du den Screen mit CloseScreen() schließen und erneut mit OpenWindowedScreen() öffnen. Du musst dann nur alle Sprites neu erstellen/laden.

_________________
my pb stuff..
Bild..jedenfalls war das mal so.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen resize
BeitragVerfasst: 17.09.2019 12:40 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
<OT>
known hat geschrieben:
ich würde gerne das kleine Programm wie [...] (in B4J geschrieben) zum Anfang in PB nachbauen

nicht persönlich nehmen, aber ich glaube, niemand von uns hat Lust ein JAR von einem User auszuführen, der so kurz dabei ist.

Ein Screenshot wäre hier wohl besser.

</OT>

_________________
Schrödingers Smiley :):


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen resize
BeitragVerfasst: 17.09.2019 13:17 
Offline

Registriert: 17.09.2019 09:44
:oops: oops sorry, daran hatte ich nicht gedacht ..... :oops:


habe mal ein screen recording gemacht, hoffe das ist OK h***s://my.hidrive.com/lnk/oZggH252


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen resize
BeitragVerfasst: 17.09.2019 13:29 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Warum zensierst du deine Links? Links darfst du hier problemlos posten.

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen resize
BeitragVerfasst: 18.09.2019 08:28 
Offline
Benutzeravatar

Registriert: 25.09.2016 01:42
Eventuell mit AutoStretch und dann die Sprites mit TransformSprite() korrigieren.

_________________

Links:
PureBasic Discord
[INCLUDE] GLFW 3.3 Library
[MODULE] Bass Library 2.4 (Win)
[LIBRARY] Hexi Binary2Hex (Win)



Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 11 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye