AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi DXInput nur 5 Tasten gleichzeitig??????????
Thema durchsuchen
Ansicht
Themen-Optionen

DXInput nur 5 Tasten gleichzeitig??????????

Ein Thema von ATwardz · begonnen am 3. Dez 2003 · letzter Beitrag vom 6. Dez 2003
Antwort Antwort
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#1

DXInput nur 5 Tasten gleichzeitig??????????

  Alt 3. Dez 2003, 21:21
Hi,

habe einen Weltraumshooter(2D) in dem jeder Spieler 5 Tasten hat, für Schuss und Richtung!
Alles funktioniert peferkt bis auf die Tatsache das der Rechner piept wenn man mehr als 5 Tasten gleichzeit gedrückt hält!
da es aber vorkommt das man rechts, nach vorne fliegt und dabei schiesst und diese der Gegner auch macht muss es doch eine Möglichkeit geben das mehr als 5 Tastendrücke gleichzeitig angenommen werden!Entwedee kann einer nit mehr schiessen oder zu Seite fliegen!

Wenn dies nicht zu lösen ist, wie kann ich dann ein "DauerBinding" verhindern?


Danke @wardz!
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#2

Re: DXInput nur 5 Tasten gleichzeitig??????????

  Alt 3. Dez 2003, 23:04
Eine häufig benutzte Möglichkeit ist, ein Array der virtuellen Tasten aus Boole'schen Variablen zu nehmen, und dann immer wenn eine Taste gedrückt oder losgelassen wird, den Wert zu ändern. Das ist möglicherweise dann nicht völlig synchron, aber vielleicht hilft dir das ja. Ich weiß auch nicht, inwieweit Tastatur oder Treiber als solche darauf einen Einfluss haben, denn ich kann auf meiner Tastatur eine ganze Menge Tasten drücken, ohne dass es zu piepen anfängt.

Wie greifst du über DirectInput auf die Tastatur zu, und welche DirectX-Version benutzt du?

Falls du IDirectInputDevice8::GetDeviceState verwendest, könnte das Problem vielleicht gelöst werden, indem du stattdessen IDirectInputDevice8::GetDeviceData ausprobierst.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: DXInput nur 5 Tasten gleichzeitig??????????

  Alt 4. Dez 2003, 07:05
Das koennte ein Hardwarelimit der Tatatus sein.
Es nennt sich N-Key-Rollover und besagt wieviele Tasten gleichzeitig gedrueckt sein koennen auf der Tastaturmatrix.
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#4

Re: DXInput nur 5 Tasten gleichzeitig??????????

  Alt 4. Dez 2003, 12:36
Danke erstma für die Anwort!

Ich arbeite zur Zeit mit DXInput von DelphiX für Delphi 7!
Muss mich mich wohl selber um eine auskopplung bemühen, nicht wahr!

DIRECT X habe ich die neuste 9er Version!

Danke!


@wardz
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#5

Re: DXInput nur 5 Tasten gleichzeitig??????????

  Alt 4. Dez 2003, 14:29
Auf diese begrenzung meiner tastatur bin ich auch einst gestossen ...kannst nix machen, als dir ne bessere tastatur zu kaufen. evtl. eine usb fähige. Auch directX 9 directInput kann dir da nicht helfen , denn genau damit hab ichs gemacht.

mfg. maximom
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#6

Re: DXInput nur 5 Tasten gleichzeitig??????????

  Alt 4. Dez 2003, 15:51
Ich hab' ein Microsoft Natural Keyboard Pro USB - das ist natürlich schon die gehobene Klasse
Wie gesagt, in vielen Fällen liegt es wirklich an der Tastatur. Eventuell ist auch PS/2 was das angeht etwas beschränkt, USB ist natürlich schneller / besser. Das hilft ATwardz allerdings auch nicht weiter, weil das Programm soll wahrscheinlich auch auf anderen Rechnern als seinem eigenen laufen ;c

Welche DirectX-Version du drauf hast, ist nicht wichtig, wichtig ist, welche Version dein DelphiX verwendet! Zu DirectX 9 gehört auch nur DirectInput 8. Davon abgesehen gibt es nichtsdestotrotz verschiedene Methoden, die Tastatur abzufragen, eventuell ist eine davon (buffered) günstiger als die andere (immediate).

Alternativ kannst du natürlich auch den zweiten Spieler mit Joystick oder Gamepad spielen lassen, damit fällt dein Fünf-Tasten-Program unter Umständen weg...
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#7

Re: DXInput nur 5 Tasten gleichzeitig??????????

  Alt 4. Dez 2003, 16:09
Tja, so etwas hatte ich irgendwie schon erwartet!

Naja, ich hatte mir nochetwas überlegt!
Wenn ich es schaffen ,irgendwie zu verhindern das ein Dauertastendrück trotzdem nur eine Aktion auslöst(zumindest bei den Schusstasten), wird der Benutzer prakrtisch zum loslassen gezwungen!

Aber wie mache ich das, hatte schoneinmal einen solchen Betrag , allerdings ohne Ergebnis!

http://www.delphipraxis.net/internal...ct.php?t=13283

Danke!
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#8

Re: DXInput nur 5 Tasten gleichzeitig??????????

  Alt 6. Dez 2003, 18:38
Vielleicht die Frage mal auf gamedev.net stellen, da sind eine ganze Menge mehr zugegen, die sich mit solchen Themen auskennen...
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz