Du bist nicht angemeldet.

Werbeanzeige

Anonymous

unregistriert

1

16.10.2004, 18:12

Beliebige Taste gedrückt

Ja nun habe ich es geschaft das ich feststellen kann ob eine Taste gedrückt wurde.

C-/C++-Quelltext

1
2
3
4
for(ZÄHLE 0-256)
  if(BUFFER[ZÄHLE]&0x80)
    EINE TASTE WURDE GEDRÜCKT
// HIER MUSS ICH DEN BUFFER LEEREN. WIE?


Mein Problem ist das wenn ich z.B. jetzt space drücke diese irgentwie noch im Buffer überlebt und gleich bei der nächste Abfrage ob space gedrückt wurde ein true liefert.

Wie kann ich den Buffer leeren?

CuTeX0r

Treue Seele

Beiträge: 174

Wohnort: Deutschland

  • Private Nachricht senden

2

16.10.2004, 18:44

Zitat

Ja nun habe ich es geschaft das ich feststellen kann ob eine Taste gedrückt wurde.

Code (C++):
for(ZÄHLE 0-256)
if(BUFFER[ZÄHLE]&0x80)
EINE TASTE WURDE GEDRÜCKT
// HIER MUSS ICH DEN BUFFER LEEREN. WIE?


Mein Problem ist das wenn ich z.B. jetzt space drücke diese irgentwie noch im Buffer überlebt und gleich bei der nächste Abfrage ob space gedrückt wurde ein true liefert.

Wie kann ich den Buffer leeren?


du leerst den buffer so:

C-/C++-Quelltext

1
EmptyBuffer();


;) also sorry, aber wenne schon mit pseudocode daher kommst kann man dir da schlecht helfen, woher soll ich z.b. wissen aus was dein buffer überhaupt besteht? Ist es ein array aus chars? oder Vielleicht doch Boolean oder vielleicht legst du es ja in jedem frame mit new an. :-D

auf gut deutsch: bissi genaueres wäre brauchbar...

3

16.10.2004, 18:53

Najo...es wird schon ein char Array sein, alles andere wäre die pure Platzverschwändung ;)

Najo...es ist allerdings sinnvoll zwei Array's zu haben. Ein altes und ein neues. Der Vorteil davon ist, das du Testen kannst ob eine es einen Klick (Taste drücken und wieder loslassen) gab.

Du speicherst das Aktuelle Array in das alte und liest in das Aktuelle die neuen Werte von DI ein. Dann machst du einen vergleich. Und schon haste alle Werte die du brauchst.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige