Seite 1 von 2

sprites in windowmode

Verfasst: 20.02.2005 20:34
von unix
Kann man Sprites zusammen mit Gadgets in ein Window paken?
Winn wie?
Tutorials dazu?

Danke für ihre Kooperation


MfG
Unix

Verfasst: 20.02.2005 20:37
von Kaeru Gaman
nicht gemischt, man kann einen abschnitt des fensters als Screen definieren,
mit OpenWindowedScreen(), in diesem kann man dann sprites darstellen,
aber keine gadgets, die nur aussen drumrum...

ansonsten müsste man das mit Images lösen, also keine sprites...

Verfasst: 20.02.2005 20:46
von unix
Vielen dank für deine Hilfe muss ich gleich ausprob :allright:

thanks


MfG
Unix

Ka

Verfasst: 22.02.2005 10:50
von unix
Irgendwie funktioniert des ned und ich habe keine Ahnung warum mein Code ist (war):

OpenWindow(0,0,0,200,300,#PB_Window_Systemmenu,"Servus")
OpenWindowedScreen(0,0,0,200,150,0,0,0)
Delay(5000)
End

Wenn ich ein Fehler habe wäre es ett wenn ihr ihn mir sagt.
Danke!

Verfasst: 22.02.2005 11:52
von Falko
Wenn du den Debugger einschaltest und Dein PB-Source im Debugmode testest , hättest du bemerkt, das InitSprite - Initialisierung fehlen würde und
das du das OpenWindow z.B. auf dein aktives Windows beziehen muß hier z.B mit WindowID(0).

Code: Alles auswählen

InitSprite()
OpenWindow(0,0,0,200,300,#PB_Window_SystemMenu,"Servus")
OpenWindowedScreen(WindowID(0),0,0,200,150,0,0,0)
Repeat:Until WaitWindowEvent()= #PB_Event_CloseWindow ; Dies Schleife wartet solange, bis du das Fenster schliesst.
End 

Verfasst: 22.02.2005 11:54
von netfreak
So geht!

Code: Alles auswählen

InitSprite() ;das brauchst für den screen!!!

OpenWindow(0,0,0,200,300,#PB_Window_Systemmenu | #PB_Window_ScreenCentered,"Servus")

  If InitSprite()
    If OpenWindowedScreen(WindowID(0),0,0,200,300,0,0,0)
   

      Debug "geht!"

    EndIf
  EndIf

Delay(5000)
End
Du hast "InitSprite()" vergässen und bei "OpenWindowedScreen" hast du was mit den Parametern Falsch gemacht!

Und ihr noch ein kleines Beispiel von mir! Denn ich finde bei deinem Beispiel sieht man nicht das es Offen ist!

Code: Alles auswählen

InitSprite() ;das brauchst für den screen!!!

OpenWindow(0,0,0,200,300,#PB_Window_Systemmenu | #PB_Window_ScreenCentered,"Servus")

  If InitSprite()
    If OpenWindowedScreen(WindowID(0),0,0,200,300,0,0,0)
    ;Debug "geht!"
    


     Repeat 
      EventID = WindowEvent() 
        
        If EventID = #PB_Event_CloseWindow  ; If the user has pressed on the close button 
          Quit = 1 
        EndIf 
        
        FlipBuffers()
        ClearScreen(0,0,0)
        StartDrawing(ScreenOutput())
        Locate(2,2)      ;
        DrawingMode(1)
        FrontColor(255,255,0)
        DrawText("TEst")
        StopDrawing()
     Until Quit=1 
    EndIf
  EndIf

;Delay(5000)
End 
mfg
netfreak

Verfasst: 22.02.2005 12:06
von Hroudtwolf
@netfreak

Warum rufst du in deinem zweiten Code INITSPRITE()
zweimal auf ?
Einmal reicht !

Verfasst: 22.02.2005 12:10
von netfreak
OH Sry! Habe ich nicht gesehen! :oops:

EDIT: So ich habe den Fehler behoben und hab das Beispiel mal ausgebaut! (Aus Langeweile habe nämlich Schneefrei!)

Code: Alles auswählen


OpenWindow(0,0,0,200,300,#PB_Window_Systemmenu | #PB_Window_ScreenCentered,"Servus")

  If InitSprite()
    If OpenWindowedScreen(WindowID(0),0,0,200,300,0,0,0)
    ;Debug "geht!"
   


     Repeat
      EventID = WindowEvent()
       
        If EventID = #PB_Event_CloseWindow  ; If the user has pressed on the close button
          Quit = 1
        EndIf
       
        FlipBuffers()
        ClearScreen(0,0,0)
        StartDrawing(ScreenOutput())
        
      For a=1 To 4
        Locate(Random(200),Random(300))      ;
        DrawingMode(1)
        FrontColor(Random(255),Random(255),Random(255))
        DrawText("TEST")
      Next

                    
        StopDrawing()
      Delay(25)
     Until Quit=1
    EndIf
  EndIf

;Delay(5000)

End

Danke

Verfasst: 22.02.2005 13:11
von unix
Mit eurer hilfe habe ich herausgefunden was mein fehler war.

1. kein InitSprite()
2. falsche eingage der WindowsID statt 0 WindowsID(0)

Vielen dank für alles!!!!

Verfasst: 22.02.2005 23:14
von DrShrek
Kaeru Gaman hat geschrieben:nicht gemischt, man kann einen abschnitt des fensters als Screen definieren,
mit OpenWindowedScreen(), in diesem kann man dann sprites darstellen,
aber keine gadgets, die nur aussen drumrum...
ansonsten müsste man das mit Images lösen, also keine sprites...
Es kann sein, dass ein Mischen von Sprites und Gadget ab PB3.93 (final) umgesetzt wird.
Ich habe Fred getriggert :wink: