Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 09, 2025 07:35

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: gedrückte tasten
BeitragVerfasst: So Jul 04, 2004 12:40 
Offline
DGL Member

Registriert: So Jul 04, 2004 12:35
Beiträge: 3
Hi,

ich will mal so nen 2D auto fahr spiel machen, naja bewegungen usw. geht schonmal alles, es hängt bei mir nur daran das wenn ich 2 tasten drücken wöllte, Gas geben und lenken, er aber nur eine Taste nimmt, meist GAS.

Naja und wie es eben bei den meisten spielen ist sollte man wohl gleichzeitig lenken und gas geben ;).

Wie könnte ich das machen das er mehrere Tasten auf einmal ausliste?


Dank schonmla im vorraus ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 04, 2004 13:02 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Dafür gibt es zwei Möglichkeiten.

1: Du machst ein Array[0..255] of boolean und bei einem OnKeyDown Event setzt du es und bei OnKeyUp löscht du es wieder. Und wenn du dann in dem array nachschaust siehst du ob eine Taste gedrückt ist oder nicht.

2: Du rufst GetAsyncKeyState auf. Damit kannst du abfragen ob eine Taste (auch Maustasten) zum derzeitigen Zeitpunkt gedrückt sind.

Jenachdem was dir davon lieber ist. Die Zweite ist mit Sicherheit die am Einfachsten zu implementierende. Allerdings kann im speziellen auch die andere Methode mal von Vorteil sein.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 04, 2004 14:22 
Offline
DGL Member

Registriert: So Jul 04, 2004 12:35
Beiträge: 3
Hmmm hab es mal getestet aber der wert denn die funktion bei

GetAsyncKeyState

zurück liefert, naja is immer 0 , egal ob ich eigendlich die richtige taste drücke oder eine andere.

und daraus werde ich nicht ganz schlau

Zitat:
von http://msdn.microsoft.com/library/defau ... yState.asp

Windows NT/2000/XP: The return value is zero for the following cases:

The current desktop is not the active desktop
The foreground thread belongs to another process and the desktop does not allow the hook or the journal record.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 04, 2004 14:33 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Probiers mal so :
Code:
  1. if Hi(GetAsyncKeyState(Virtueller Tastencode)) = 128 then
  2. ...


Win-SDK Hilfe hat geschrieben:
Return Values

If the function succeeds, the return value specifies whether the key was pressed since the last call to GetAsyncKeyState, and whether the key is currently up or down. If the most significant bit is set, the key is down, and if the least significant bit is set, the key was pressed after the previous call to GetAsyncKeyState. The return value is zero if a window in another thread or process currently has the keyboard focus.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 04, 2004 18:14 
Offline
DGL Member

Registriert: So Jul 04, 2004 12:35
Beiträge: 3
Danke ich mach es nun über die erste methode ;)

aber kann mir jemand mal erzählen/erklären wo ich tutorials zu direct input finden kann (zum richtigen nicht von delphix).


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 04, 2004 18:18 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Das DirectX SDK von Microsoft ist eine sehr gute Informationsquelle, wenn du mit C++ nicht völlig auf Kriegsfuß stehst. Dazu noch die DirectX Units der Jedis und du bist für alles gerüstet.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 23 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]