screen debug - sd(..)

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

screen debug - sd(..)

Beitrag von #NULL »

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.

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)


my pb stuff..
Bild..jedenfalls war das mal so.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> ..nützlich..
yup :allright:

...und ausbaufähig...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten