Array ist global, MESSDAUER auch.
der rest des programms ist eigentlich unwichtig... hat nix mit den operationen mehr zu tun!
Wenn es weiterhilft: der Compiler meckert mit dem StartDrawing(ScreenOutput()) meint der "the specified output is NULL"
allerdings läuft es so fehlerlos
habe alles so gelassen nur diesen codeschnippsel lauffähig gemacht.
Code: Alles auswählen
Declare Aufnahme()
InitSprite()
InitKeyboard()
InitMouse()
OpenScreen(800,600,32,"")
MESSDAUER=10000
Dim YWerte(MESSDAUER*80)
Repeat
ExamineKeyboard()
ClearScreen(0,0,0)
StartDrawing(ScreenOutput())
FrontColor(0,0,0)
Locate(0,0)
DrawText("Aufnahme-Modus [P]: "+Str(AUFNAHME_MODUS))
StopDrawing()
FlipBuffers()
;Starten/Beenden der Aufnahme
If KeyboardReleased(#PB_KEY_P)
Select AUFNAHME_MODUS
Case 0 ;Aufnahme wird nun gestartet
AUFNAHME_MODUS=1
thid=CreateThread(@Aufnahme(),0)
Case 1 ;Aufnahme lief und wird nun beendet
AUFNAHME_MODUS=0
KillThread(thid)
EndSelect
EndIf
;[...]
Until KeyboardPushed(#PB_KEY_ESCAPE)
;[...]
Procedure Aufnahme()
For a=0 To MESSDAUER*80
ExamineMouse()
YWerte(a)=MouseDeltaY()
Next
EndProcedure