Unity 3d 4 giocatori È possibile premere solo 4 pulsanti alla volta


8

È possibile premere solo 4 pulsanti alla volta, quindi i giocatori non possono muoversi a volte

Ogni giocatore ha i propri controlli

Cambio, Freccia su e gli altri per ciascun giocatore --- v Cambio Freccia in su e gli altri per ciascun giocatore

InputsV-VV

ingressi

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);

Ottima domanda!
Ho

Le tastiere economiche non riconoscono nemmeno molte 3 combinazioni di tasti.
Codici A Caos il

Risposte:


19

Le tastiere hanno limitazioni hardware su quanti tasti possono essere premuti e riconosciuti contemporaneamente.

Il tuo codice non è il problema qui, è molto probabilmente il design della tastiera.


4
Questo è il motivo per cui i giochi per PC FPS sfruttano i tasti Shift, CTRL e Alt - non contano per quel limite di 4 tasti.
Dustin_00,

4
Ps. Il trucco per consentire un'esperienza multiplayer decente su un singolo computer è supportare più tastiere. Sono abbastanza economici e con un semplice hub USB o due puoi facilmente collegarne dozzine contemporaneamente. Inoltre, libera i tuoi giocatori dal doversi stringere attorno a un'unica tastiera.
Ilmari Karonen,

1
Inoltre, qualsiasi tastiera gamer di marca (anche la più economica logitech) supporta la pressione di almeno 4 tasti contemporaneamente. Quelli meccanici funzionano generalmente come un pianoforte, quindi puoi usare tutte le dita. gaming.stackexchange.com/questions/6669/…
Furkan Omay

Tuttavia, il protocollo USB predefinito consente solo 6 chiavi (più le meta chiavi), quindi se si desidera una tastiera con più di quella è necessario fornire il proprio driver.
maniaco del cricchetto

11

Le tastiere hanno una matrice di tasti, in cui i pulsanti sono stati disposti in qualcosa di approssimativamente quadrato, con i selettori a chiave ciascuno legato a una riga e una colonna. La tastiera attiva ogni riga e quindi legge le colonne. Se lo schizzi, vedrai che alcune combinazioni di pulsanti devono attivare i tasti "fantasma". Puoi risolverlo con un diodo per pulsante (che è un costo sostanziale per una tastiera) e avere il rollover completo . Per evitare i fantasmi, una tastiera senza rollover completo ignorerà le combinazioni di tasti ambigue.

I tasti modificatori sono sempre progettati in modo da poter essere accordati.

Una volta che la tastiera ha una serie di chiavi da segnalare, deve comprimerla nel rapporto USB HID, che ha un byte che è una maschera di bit di modificatori e 6 byte per altri scancodes. Quindi, anche con il rollover completo, è probabile che non vedrai più di 8 modificatori e 6 scancodes contemporaneamente.

(il rapporto della tastiera ha anche un byte che è sempre 0, per un totale di 8 byte)


1
Vale probabilmente la pena notare che alcune tastiere (in particolare quelle razer) utilizzano un'estensione non conforme HID per consentire il vero rollover a chiave completa anche su USB. Inoltre, anche le porte ps2 non avevano questa limitazione e potevano eseguire n il rollover delle chiavi.
Valità,

2
Tecnicamente non c'è nulla di non conforme sull'avere un report HID della tastiera grande quanto desideri. Tuttavia, esiste uno standard HID di avvio USB che funziona come ho descritto. Questo formato limitato è stato specificato in modo che il semplice codice nel BIOS potesse comprendere le tastiere USB. È solo più lavoro per progettare una tastiera che esce da quella modalità all'avvio del sistema operativo reale. È abbastanza probabile che i driver HID generici di Windows supportino tutti gli scancodes che desideri se il tuo dispositivo ha i descrittori giusti.
Ben Jackson,

Eccellente, grazie per avermelo fatto notare. Forse potresti metterlo nella risposta in quanto si tratta di informazioni preziose.
Valità,

Un altro nome è il rollover n-key . Un po 'tangenziale: ho una tastiera del genere che funziona con i driver di Windows caricati e nel firmware UEFI, ma fa scattare il bootloader di Windows e alcuni supporti di avvio - li congela effettivamente. Tradizionalmente, le connessioni PS / 2 venivano utilizzate per il rollover del tasto n con USB limitato a ~ 6, anche se recentemente sembra essere più raro.
Bob
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.