Seite 1 von 1
Anfängerfehler
Verfasst: 21.03.2005 20:22
von Gamer
Wo ist der Fehler? Die Alertbox erscheint schon nach dem 1. Schuss
Code: Alles auswählen
InitMouse():InitSound()
Global magazin.b
magazin.b = 5
Repeat
ExamineMouse()
If MouseButton(1)
PlaySound(0)
magazin - 1
If magazin=0:MessageRequester("Fehler","Munition",0):EndIf
EndIf
Until KeyboardPushed(#PB_Key_Escape)
End
Verfasst: 21.03.2005 20:34
von remi_meier
MouseButton() ist so lange TRUE bis du ihn wieder loslässt, d.h. du musst eine Variable einführen die beinhaltet, ob die Maus wieder losgelassen wurde! Erst dann darfst du wieder auf MouseButton() prüfen!
Verfasst: 21.03.2005 21:22
von Gamer
Kompliziert!
Also die Schleife wird durch einen einzigen kurzen Klick schon 5x
durchlaufen und deswegen kommt die Alertbox gleich?
Das mit der zusätzliche Variable verstehe ich was Du meinst,
aber kann es irgendwie nicht umsetzen

Verfasst: 21.03.2005 21:51
von netfreak
schau mal :
Code: Alles auswählen
InitMouse()
InitSound()
Global magazin.b
magazin.b = 5
Repeat
ExamineMouse()
If MouseButton(1) And Maus_Knopf = 0
Maus_Knopf = 1
PlaySound(0)
magazin - 1
If magazin=0:MessageRequester("Fehler","Munition",0):EndIf
EndIf
If MouseButton(1) = 0
Maus_Knopf = 0
EndIf
Until KeyboardPushed(#PB_Key_Escape)
Verfasst: 22.03.2005 00:48
von Gamer
Thanks! Und hier ist dann wohl das gleiche "Problem" oder? Sprich wenn ich im Intro schon Escape drücke, wird das Spiel auch gleich beendet.
Code: Alles auswählen
; intro
Repeat
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
; game
Repeat
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
End
Verfasst: 22.03.2005 01:00
von Deeem2031
Dafür gibt es den Befehl KeyboardReleased()
Verfasst: 22.03.2005 01:07
von Gamer
Eigentlich komisch das es nicht sowas wie "FlushKeys" oder "FlushMouse" in PB gibt...
Verfasst: 22.03.2005 02:03
von Laurin
Die Befehle funktionieren anders als zB die in QBasic.
Was willst du mit FlushKeys oder Flushmouse, wenn man keinen Speicher hat, den man flushen kann?