ich bastele gerade an einem Spielchen rum und möchte dem Benutzer die Möglichkeit geben auch mit P oder der [PAUSE] Taste eine Pause zu generieren, ich komme da aber zu keinem Ergebnis.
Danke für die Tipps.
Gruß
Neo
Code: Alles auswählen
if p=1
sprites()
bewegungen()
events()
else
pausebild()
endif
Das Abfragen der Tastatur ist klar, was mache ich aber in der IF Schleife?nicolaus hat geschrieben:OK nun noch die frage wo liegt das prob? An dem Shortcute mit der Taste P oder daran wie du ne pause hin bekommst?
MfG Nico
Ich habe gestern erst angfangen mit PB, und lerne dadurch, dass kleine Fassspielchen zu modifizieren und zu erweitern. Deswegen sind das wahrscheinlich keine Prozeduren.Hroudtwolf hat geschrieben:Die Frage ist ganz schnell beantwortet.
SOWEIIT du wie die meisten auf PROCEDURE-Basis programmierst!
Deine Sprites sind Proceduren
Deine Bewegungen.
Deine Ereignissabfrage
und der rest sind auch Proceduren
Jetzt mußt du nur noch ne Abfrage nach nem P machen.
Wenn P gedrückt wurde werden alle Proceduren aus der Hauptschleife genommen.
nur so ungefähr. Aber so mach ich das schon seit Pascal und Quickbasic.Code: Alles auswählen
if p=1 sprites() bewegungen() events() else pausebild() endif
Code: Alles auswählen
If InitSprite() And InitKeyboard() And OpenScreen(800,600,16,"")
Paused = #False
Repeat
FlipBuffers()
If StartDrawing(ScreenOutput())
ExamineKeyboard()
If KeyboardReleased(#PB_Key_P)
If Paused = #False
Paused = #True
Else
Paused = #False
EndIf
EndIf
DrawingMode(0)
Locate(20,20)
If Paused = #False
!!!!!!!!!!! Hier kommt die Bewegung rein !!!!!!!!!!!!!!1
Else
DrawText("Programm angehalten...")
EndIf
StopDrawing()
EndIf
Until KeyboardPushed(#PB_Key_Escape)
EndIf
Code: Alles auswählen
KeyboardPushed(KeyID) Code: Alles auswählen
KeyboardReleasedstattgegeben, dass ist bei einem Toggle die einfachste lösung,neo67 hat geschrieben:Das Problem war bei mir, das ich immer einbenutzt habe und keinCode: Alles auswählen
KeyboardPushed(KeyID)Code: Alles auswählen
KeyboardReleased
Code: Alles auswählen
If KeyboardPushed(Taste) And Busy_Flag = 0
Busy_Flag = 1
FunctionCall()
EndIf
If KeyboardReleased(Taste)
Busy_Flag = 0
EndIf