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
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!
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
