Taste kann nur einmal benutzt werden
Übersicht

![]() |
HagbardBetreff: Taste kann nur einmal benutzt werden |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
mein Problem: Ich möchte bei F1 ein Kästchen erscheinen und bei erneutem Drücken verschwinden lassen. Allerdings klappt das nicht. Der Code: Code: [AUSKLAPPEN] ; Spielmenü
Graphics 800, 600, 16, 2 fenster2 = LoadImage("fenster2.bmp") Repeat If KeyHit(59) And hilfemenü_anzeige = 0 And menü = 0 Then hilfemenü_anzeige = 1 If KeyHit(60) And missionmenü_anzeige = 0 And menü = 0 Then missionmenü_anzeige = 1 If KeyHit(61) And soundmenü_anzeige = 0 And menü = 0 Then soundmenü_anzeige = 1 If KeyHit(62) And pausemenü_anzeige = 0 And menü = 0 Then pausemenü_anzeige = 1 If KeyHit(28) And hilfemenü_anzeige = 1 Then hilfemenü_anzeige = 0 If KeyHit(28) And missionmenü_anzeige = 1 Then missionmenü_anzeige = 0 If KeyHit(28) And soundmenü_anzeige = 1 Then soundmenü_anzeige = 0 If KeyHit(28) And pausemenü_anzeige = 1 Then pausemenü_anzeige = 0 If hilfemenü_anzeige = 1 Then DrawImage fenster2, 220, 130 EndIf If missionmenü_anzeige = 1 Then DrawImage fenster2, 220, 130 EndIf If soundmenü_anzeige = 1 Then DrawImage fenster2, 220, 130 EndIf If pausemenü_anzeige = 1 Then DrawImage fenster2, 220, 130 EndIf Text 20, 20, hilfemenü_anzeige Text 20, 40, missionmenü_anzeige Text 20, 60, soundmenü_anzeige Text 20, 80, pausemenü_anzeige Text 20, 100, menü Until KeyHit(1) End Kommentare habe ich entfernt, da sie zuviel Platz verbrauchten. Ich hoffe ihr könnt mir helfen... ![]() |
||
- Zuletzt bearbeitet von Hagbard am Sa, Apr 17, 2010 16:06, insgesamt einmal bearbeitet
D²O |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Pseudocode
Code: [AUSKLAPPEN] global F1Schalter = 1
if keyhit(??) then F1Schalter = not F1Schalter ;Schaltet zwischen True und False if F1Schalter then Kästchen zeichnen ;Nur wenn true sichtbar ansonsten nicht ;) |
||
Blitz+; Blitz3d; BlitzMax; GLBasic; Purebasic;
GameMaker Studio 1.4xx; AGK; |
hitokiri |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ist doch offensichtlich:
f1 wurde nach If KeyHit(28) And soundmenü_anzeige = 1 Then soundmenü_anzeige = 0 nicht nochmal gedrückt bis If KeyHit(28) And pausemenü_anzeige = 1 Then pausemenü_anzeige = 0 mach es so: if keyhit(28) if soundmenu_anzeige=1 then soundmenu_anzeige=0 if pasenmenu_anzaige=0 then pausenmenu_anzeige=1 endif du fragst keyhit bei dir 2mal hintereinander ab, keyhit misst aber nur wie oft es seit dem letzten aufruf gedrückt wurde. zwischen der ersten abfrage und der zweiten wird es nicht nochmal gedrückt. |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
jop, Keyhit löscht bei Aufruf den Buffer für das Zeichen. Also wie geschrieben entweder alles was das Zeichen betrifft in einem Rutsch abfragen oder den Tastenklick in einer Variablen zwischenspeichern. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Alfadur |
![]() Antworten mit Zitat ![]() |
---|---|---|
d2o hats gesagt...
if keyhit(bla) then blabla = not blabla und dann irgendwo ... im hauptprogramm ( nicht notwendigerweise ) if blabla then show_blabla... |
||
A Cray is the only computer that runs an endless loop in less than four hours. |
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
vielen Dank, dass ihr mir geholfen habt. Ich werde den Tastendruck wohl in einer Variable speichern. |
||
- Zuletzt bearbeitet von Hagbard am Sa, Apr 17, 2010 16:06, insgesamt einmal bearbeitet
klepto2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du kannst es auch so machen:
Pseudo: Menu = 0 if keyhit(??) then Menu = 1-Menu ;schaltet immer zwischen 1 und 0 um if Menu = 1 then Draw stuff endif |
||
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
genau das meinte ich ja auch: "...in einer Variable speichern". |
||
- Zuletzt bearbeitet von Hagbard am Sa, Apr 17, 2010 16:07, insgesamt einmal bearbeitet
![]() |
DivineDominion |
![]() Antworten mit Zitat ![]() |
---|---|---|
Uraltes Thema...
https://www.blitzforum.de/viewtopic.php?t=8345 |
||
christian.tietze@gmail.com - https://christiantietze.de
macOS |
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
cool, dass du das noch gepostest hast. Sehr interessant. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group