Mehrere Tastendrücke gleichzeitig einlese
-
Grüß euch
Gibt es eine Funktion in c, die alle gedrückten Tasten einliest und diese dann z.b. als array abspeichert?
Ich programmiere gerade einen Platformer. ich kenne nur eine abgeänderte version von getchar nur eine abgeänderte Version von getchar. Diese liest nur einen Tastendruck ein. Ich bräuchte aber zwei, oder mehr.
Es sollte unter Linux(Debian) funktioniere, vielleicht, aber nicht notwendig auch unter Windows.weini
-
Antwort von Radio Eriwan auf die Frage "Kann ich zwei Frauen gleichzeitig lieben?": Wieso gleichzeitig? Nacheinander ist besser!
-
Nein, Standard-C kennt keine Tasten, Monitore, Drucker oder sonst etwas, was nicht eine abstrakter schwarzer Kasten ist, der irgendwie eine Zeichenreihe als Eingabe bekommt, rechnen kann, und am Ende eine Zeichenreihe ausgibt. Aber das Betriebssystem kennt sich hervorragend mit solchen Dingen aus. Die direkte Möglichkeit wäre, dass du dieses direkt fragst. Es ist möglich, direkt an den Hardwarestatus der Tasten zu gelangen. Aber das ist vermutlich nichts, was du als Anfänger machen möchtest. Wenn du eher Konsolenprogramme schreiben möchtest, dann solltest du dir für Linux mal eine Bibliothek wie ncurses angucken, die nicht nur (relativ) komfortable Auswertung der Tastatur kennt, sondern dir vor allen bei der Darstellung von Text-UIs hilft. Wenn es eher in die Richtung Spieleentwicklung gehen soll, dann solltest du dir ein Framework zur Spieleentwicklung ansehen, die können dir noch viel besser helfen und sind zudem häufig noch plattformunabhängig.
edit: Wobei ncurses aber glaube ich keine Mutlitastenevents kennt. Die Bibliothek ist schon ein bisschen älter.
-
Ich denk ich würde dir für dein Spiel SDL empfehlen, wenn es C sein soll. Falls es C++ sein soll, dann SFML...
-
Soweit ich drauf erinnere, es gab einige alte C Funktionen die getrennt das Drucken ( 2 irgendwelche Chars) und loslassen ( auch 2 Chars) abfangen. Gleichzeitig
kann das Tastatur es nicht abliefern.
Aber dann, wenn du viel zu lange eine Taste drückst, wird das Tastaturbuffer voll und Rechner quietscht :p . Also sollte man das Tastaturbuffer manuell im ganz unschöner Weg zu löshen.Forche danach und sag bescheid ob es unter modernem OS und USB- Tastatur klappt:D
-
o4kareg schrieb:
Soweit ich drauf erinnere, es gab einige alte C Funktionen die getrennt das Drucken ( 2 irgendwelche Chars) und loslassen ( auch 2 Chars) abfangen.
Unter Garantie kein Standard-C. Oft werden uralte Konsolenbibliotheken (ich gucke dich an, conio.h!) als Standard-C gelehrt, was sie aber absolut nicht sind.
-
berniebutt schrieb:
Antwort von Radio Eriwan auf die Frage "Kann ich zwei Frauen gleichzeitig lieben?": Wieso gleichzeitig? Nacheinander ist besser!
Nacheinander is nicht besser, da du springen und nach rechts/links gehen kannst
Und nicht als ersters Springen und dann nach rechts/links gehen tust, da sonst das Springen keinen Sinn ergibtdot schrieb:
Ich denk ich würde dir für dein Spiel SDL empfehlen, wenn es C sein soll. Falls es C++ sein soll, dann SFML...
Es sollte C sein.
Sollte ich von dieser Seite Tutorials nehmen?
Oder hast du einen besseren Link?SeppJ schrieb:
Wobei ncurses aber glaube ich keine Mutlitastenevents kennt. Die Bibliothek ist schon ein bisschen älter.
Ich hab mir eine Seite, wo ncurses beschrieben ist durchgelesen, laut der Seite kann man es nicht.