Macht das hier, was Du willst ?
Code: Alles auswählen
If InitSprite() = 0 Or InitKeyboard() = 0
MessageRequester("Error", "Can't open DirectX 7 or later", 0)
End
EndIf
If OpenWindow(0, 10, 200, 500, 310, "blubb", #PB_Window_SystemMenu |#PB_Window_MinimizeGadget)
If CreateGadgetList(WindowID(0))
TextGadget(1, 350, 10, 50, 20, "Running")
SpinGadget(2, 350, 70, 30, 20, 0,10,#PB_Spin_Numeric|#PB_Spin_ReadOnly)
SetGadgetState (2, 5)
A = GetGadgetState(2)
SetGadgetText(2, Str(A))
EndIf
If OpenWindowedScreen(WindowID(0),5,5,320,300,0,0,0)
; Spielereien ;)
Else
MessageRequester("Error", "Can't open windowed screen!", 0)
End
EndIf
EndIf
pause = #False
x = 1
Repeat
Event.l = WindowEvent()
If Event = #PB_Event_Gadget ; do the normal application stuff here...
Gadget = EventGadget()
Select Gadget
Case 2
SetGadgetText(1,"Spinned.")
Case 1
;zur zeit nix ;)
EndSelect
Else
FlipBuffers()
Delay(1)
ExamineKeyboard()
If KeyboardReleased(#PB_Key_Escape) ; drücken Sie Esc zum Beenden
Debug "ESC gedrückt"
End
ElseIf KeyboardReleased(#PB_Key_P) ;Wie kann ich es machen, dass das Spiel pausiert wird bis wieder P gedrückt wird?
If pause = #False
Debug "P zum ersten mal gedrückt"
pause = #True
SetGadgetText(1,"Pause")
Repeat
Delay(1)
ExamineKeyboard()
Until KeyboardReleased(#PB_Key_P)
Debug "P zum zweiten mal gedrückt"
pause = #False
SetGadgetText(1,"Running")
Else
Debug "P zum zweiten mal gedrückt"
pause = #False
SetGadgetText(1,"Running")
EndIf
Delay(100)
ElseIf KeyboardReleased(#PB_Key_Space) ;Jetzt soll X 5 Sekunden 0 bleiben
uts = Date()
X = 0
Debug "SPACE gedrückt, uts = " + Str(uts)
Delay(100)
EndIf
EndIf
If (Date() > uts + 4) And (x=0)
X = 1
Debug "5 Sekunden um, x = 1"
Debug "uts = " + Str(Date())
EndIf
Until Event = #PB_Event_CloseWindow
End
Blade Trinity vorbei ... scholly bubu
