screen debug - sd(..)
Verfasst: 15.12.2006 15:21
tach,
hier ist eine kleine funktion, die mir im fullscreen
das debugging erleichtert.
..nützlich..
ein string als parameter, fügt diesen in die debugging liste ein.
z.b. sd( "text" ) oder sd( str(var) ).
ein finaler parameterloser aufruf bringt alles auf den screen (z.b. eine zeile vor FlipBuffers() ).
sd().
wenn der finale aufruf innerhalb eines bereits bestehenden Start/StopDrawing-Blocks stattfinden soll, ruf man sie mit sd("",0) auf.
hier ist eine kleine funktion, die mir im fullscreen
das debugging erleichtert.
..nützlich..
ein string als parameter, fügt diesen in die debugging liste ein.
z.b. sd( "text" ) oder sd( str(var) ).
ein finaler parameterloser aufruf bringt alles auf den screen (z.b. eine zeile vor FlipBuffers() ).
sd().
wenn der finale aufruf innerhalb eines bereits bestehenden Start/StopDrawing-Blocks stattfinden soll, ruf man sie mit sd("",0) auf.
Code: Alles auswählen
Procedure sd( s.s="", startdrawing=1) ;##### screen debug
Static NewList outtext.s()
Protected y
If s
AddElement(outtext())
outtext()=s
Else
If startdrawing
StartDrawing( ScreenOutput() )
EndIf
y=50
ForEach outtext()
DrawText(100,y,outtext(),$ffffff,0)
y+20
Next
If startdrawing
StopDrawing()
EndIf
ClearList(outtext())
EndIf
EndProcedure
; BEISPIEL
InitSprite()
InitMouse()
InitKeyboard()
ExamineDesktops()
OpenScreen( DesktopWidth(0),DesktopHeight(0),32,"")
Repeat
sd("esc - quit") ; <<<<<<<<<
sd( Str(n) ) ; <<<<<<<<<
sd( StrF(1070.3401) ) ; <<<<<<<<<
StartDrawing( ScreenOutput() )
Circle(MouseX(),MouseY(),3,$ff)
sd( Str(MouseX())+", "+Str(MouseY()) ) ; <<<<<<<<<
StopDrawing()
sd() ; <<< final
FlipBuffers()
ClearScreen($333333)
ExamineMouse()
ExamineKeyboard()
Delay(10)
n+1
Until KeyboardReleased(#PB_Key_Escape)