Entwickler-Ecke
Multimedia / Grafik - Reaktion auf mehrere Tasten gleichzeitig ?
Tom! - Fr 16.05.03 20:41
Titel: Reaktion auf mehrere Tasten gleichzeitig ?
Ja hallo erstmal...
ich programmiere gerade zur Aufbesserung meiner Infomatik-Schulnote ein Flugspiel, ähnlich wie der DOS-Klassiker "Raptor".
Dazu verwende ich ein Image, das sich durch Tastendruck verschieben lässt.
Ich habe dies mit der OnKeyDown-Prozedur realisiert.
Allerdings funktioniert diese Methode nicht, sobald mehr als ein Key gleichzeitig gedrückt wird; bei OnKeyDown kommt immer nur ein Key durch; d.h. ich kann nicht lenken und gleichzeitig schiessen.
Welche Möglichkeiten gibt's da?
P.S.: Ein Freund hat mir geraten, es mit einem unsichtbaren Menu zu versuchen, das mit Shortcuts angesprochen wird. Die Menupunkte wären dann die Bewegungsprozeduren. Davon bin ich allerdings weniger begeistert...
Danke im Voraus,
Tom!
GruppeCN - Sa 17.05.03 15:25
Versuch's mit OnKeyPress...
mimi - Sa 17.05.03 22:32
das wird das gleiche sein. speicher die gdrückten Tasten einfach in einem array
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var keys:array[0..255]:bool;
onKeyDown: keys[key]:=True;
onKeyUp: keys[key]:=False; |
Kostja - Sa 17.05.03 23:18
Titel: GetAsyncKeyState
Ich würde das über die Methode GetAsyncKeyState machen!
Man könnte die z.B. in die Prozedur KeyDown packen:
procedure Form1.KeyDown(...);
begin
If GetAsyncKeyState(VK_SPACE) < 0 Then Feuern;
end;
mimi - Sa 17.05.03 23:19
und was bringt das ?
Kostja - So 18.05.03 10:32
Reaktion auf mehrere Tasten gleichzeitig!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!