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?