
Sporadische Events von Keyboardreleased
Schon gesehen. 

Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Code: Alles auswählen
; Autor: DarkDragon
Dim StaticKeyboardReleasedOldState.b(256)
Procedure KeyboardReleasedEx(Key.l)
Protected Result.l
Shared StaticKeyboardReleasedOldState()
; Key+1 in der Struktur, weil #PB_Key_All = -1 ist
Result = 0
If KeyboardPushed(Key)
StaticKeyboardReleasedOldState(Key+1) = 1
Else
If StaticKeyboardReleasedOldState(Key+1) = 1
Result = 1
StaticKeyboardReleasedOldState(Key+1) = 0
EndIf
EndIf
ProcedureReturn Result
EndProcedure
InitSprite()
InitKeyboard()
OpenWindow(0, 0, 0, 640, 480, "Test", #PB_Window_SystemMenu)
OpenWindowedScreen(WindowID(0), 0, 0, 640, 480, 1, 0, 0)
Repeat
ExamineKeyboard()
Delay(1)
Until KeyboardReleasedEx(#PB_Key_Up) Or WindowEvent() = #PB_Event_CloseWindow
MessageRequester("OK", "OK")
End

Zuletzt geändert von DarkDragon am 26.09.2006 20:15, insgesamt 1-mal geändert.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
@DarkDragon
ich glaub das letzte müsste so: sein, weil sonst ist die taste ja dauerhaft gedrückt.
ich glaub das letzte
Code: Alles auswählen
StaticKeyboardReleasedOldState(Key+1) = 1
Code: Alles auswählen
StaticKeyboardReleasedOldState(Key+1) = 0
PureBasic 4.40 (Windows - x86)
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Stimmt...tobe hat geschrieben:@DarkDragon
ich glaub das letztemüsste so:Code: Alles auswählen
StaticKeyboardReleasedOldState(Key+1) = 1
sein, weil sonst ist die taste ja dauerhaft gedrückt.Code: Alles auswählen
StaticKeyboardReleasedOldState(Key+1) = 0
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.