deswegen hab ich schnell zwei Procs gebastelt, mit denen man auf dem FullScreen
eine Debug-Ausgabe realisieren kann.
die gewünschten Ausgaben können an jeder Stelle des Codes in die Queue gepusht werden,
und werden dann in einem Rutsch auf den Screen geDrawt.
Code: Alles auswählen
;***************************************************************
;***
;*** FullScreen Debug
;***
;*** PB 4.3x
;***
;*** by Kaeru Gaman, 2009-05-25
;***
;***************************************************************
InitSprite()
InitKeyboard()
OpenScreen( 1024, 768, 32, "ScreenDebug" )
;***************************************************************
EnableExplicit
NewList DebugLine.s()
#DebugLineStep = 16
Procedure NextDebugLine( Out.s )
Shared DebugLine.s()
AddElement(DebugLine())
DebugLine() = Out
EndProcedure
Procedure DrawDebug( DBX.l, DBY.l, DBCol.l = $FFFFFF )
Shared DebugLine.s()
Protected LineY = 0
DrawingMode( #PB_2DDrawing_Transparent )
FrontColor( DBCol )
ForEach DebugLine()
DrawText( DBX, DBY + LineY * #DebugLineStep, DebugLine() )
LineY +1
Next
ClearList( DebugLine() )
EndProcedure
DisableExplicit
;***************************************************************
PX = 512
PY = 384
Repeat
LastTimer = Timer
Timer = ElapsedMilliseconds()
Duration = Timer - LastTimer
If Duration = 0
Duration = 1
EndIf
FPS = 1000 / Duration
ExamineKeyboard()
If KeyboardPushed( #PB_Key_Up )
PY -2
EndIf
If KeyboardPushed( #PB_Key_Down )
PY +2
EndIf
NextDebugLine( "PX = "+Str(PX) )
If KeyboardPushed( #PB_Key_Left )
PX -2
EndIf
If KeyboardPushed( #PB_Key_Right )
PX +2
EndIf
NextDebugLine( "PY = "+Str(PY) )
If KeyboardPushed( #PB_Key_Escape )
EXIT = 1
EndIf
NextDebugLine( "D = " + Str( Duration ) + "ms" )
NextDebugLine( Str( FPS ) + " FpS" )
ClearScreen( $201008 )
StartDrawing( ScreenOutput() )
Box( PX, PY, 32, 32, $0FF0FF )
DrawDebug( 0,0, $FFF000 )
StopDrawing()
FlipBuffers()
Until EXIT
End