Es können immer nur 4 Tasten gleichzeitig gedrückt werden, sodass sich die Spieler manchmal nicht bewegen können
Jeder Spieler hat seine eigenen Kontrollen
i Ändern, Pfeil nach oben und die anderen für jeden Spieler --- v
EingängeV-VV
public string UpArrow;
public string DownArrow;
public string LeftArrow;
public string RightArrow;
if(Input.GetButton(UpArrow))
transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
if(Input.GetButton(DownArrow))
transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime);
if(Input.GetButton(LeftArrow))
transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);
if(Input.GetButton(RightArrow))
transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
Antworten:
Tastaturen haben Hardware-Einschränkungen hinsichtlich der Anzahl der Tasten, die gleichzeitig gedrückt und erkannt werden können.
Ihr Code ist hier nicht das Problem, sondern höchstwahrscheinlich das Design der Tastatur.
quelle
Tastaturen haben eine Tastenmatrix, in der die Tasten grob quadratisch angeordnet sind, wobei die Tastenschalter jeweils an eine Zeile und eine Spalte gebunden sind. Die Tastatur aktiviert jede Zeile und liest dann die Spalten. Wenn Sie dies skizzieren, werden Sie sehen, dass einige Tastenkombinationen "Phantom" -Tasten aktivieren müssen. Sie können dies mit einer Diode pro Taste beheben (was für eine Tastatur erhebliche Kosten verursacht) und einen vollständigen Rollover durchführen . Um die Phantome zu vermeiden, ignoriert eine Tastatur ohne vollständigen Rollover mehrdeutige Tastenkombinationen.
Modifikatortasten sind immer so gestaltet, dass sie akkordiert werden können.
Sobald die Tastatur über einen Satz von zu meldenden Tasten verfügt, muss dieser in den USB-HID-Bericht gepackt werden, der ein Byte enthält, das eine Bitmaske aus Modifikatoren ist, und 6 Byte für andere Scancodes. Selbst bei einem vollständigen Rollover werden wahrscheinlich nicht mehr als 8 Modifikatoren und 6 Scancodes gleichzeitig angezeigt.
(Der Tastaturbericht enthält auch ein Byte, das immer 0 ist, was insgesamt 8 Bytes ergibt.)
quelle