Realizzare (o emulare) un "D-pad" su un touch-screen; d-pad virtuale


12

Con la proliferazione di dispositivi touch-based, molti privi di un vero D-pad, mi chiedo se qualcuno ha delle risorse su come emulare un D-pad su un touchscreen? Sono particolarmente interessato agli esempi di codice XNA e / o Android.

Risposte:



16

Posso scoraggiarti dal tentare di emulare un D-pad su un dispositivo touchscreen?

I problemi con l'emulazione di un D-pad su un touchscreen sono:

  • il D-pad occupa lo spazio dello schermo che potresti usare per il gioco;
  • a differenza di un D-pad reale, un D-pad emulato non offre quasi alcun feedback: come giocatore, non puoi dire in quale direzione stai premendo, né dal sentire né dalla vista (poiché il tuo dito copre il D- pad sullo schermo). Quindi il tuo dito scivola troppo facilmente dal D-pad, o nella parte sbagliata di esso, portando a fronzoli e frustrazione.

Un dispositivo touchscreen è molto più di un dispositivo "privo di un vero D-pad", come dici tu. Un dispositivo touchscreen consente al giocatore di toccare qualsiasi punto dello schermo e quindi interagire con qualsiasi elemento di gioco visibile . Ciò offre una vasta gamma di possibilità di progettazione del gioco e questi disegni saranno probabilmente molto più piacevoli da usare rispetto a un D-pad emulato.


1
Inoltre, implementare Pathing per un piccolo schermo del genere è banale. Zoom e scorrere la mappa del gioco, quindi toccare e percorso!
Stephen Furlani,

9

So che questa non è la risposta più utile, ma a meno che non si stia eseguendo il porting di un progetto da un'altra piattaforma, suggerirei di riconsiderare sul D-Pad virtuale. La maggior parte delle implementazioni dei D-pad virtuali sono state nel migliore dei casi scarse, la mancanza di feedback tattile li rende una scelta sbagliata per la piattaforma.

Stai molto meglio guardando alla creazione di un'interfaccia per il tuo gioco che metta in evidenza i punti di forza delle piattaforme invece di costruire ai punti deboli delle piattaforme.


Apparentemente Gareth rispose nello stesso modo in cui lo stavo scrivendo. Niente da vedere qui ... vai avanti.
Wkerslake,

Sono contento di vedere che non sono solo su questo!
Gareth Rees,

3

Come altri hanno già detto, è meglio inventare un design che si adatti all'ambiente, non forzare l'ambiente a adattarsi al tuo design, ma se ti attieni al D-Pad, ecco come potresti farlo:

Se si considera il "punto di contatto" come un cursore del mouse, in pratica si crea un "punto attivo" che reagisce al movimento del cursore.

Penso che il modo migliore / più semplice per farlo sia creare una scatola o un cerchio semitrasparente (ricorda, stai coprendo la schermata di gioco) in uno degli angoli inferiori, dove è più probabile che il giocatore abbia già il dito. Quindi segui semplicemente la posizione del dito del giocatore rispetto al centro del punto attivo, e questo è il tuo valore delta di input.


Questo è il modo in cui la maggior parte dei giochi risolve il problema del controller d-pad. Fa schifo per la piattaforma di precisione però.
Nailer,

2

Vedo che la maggior parte delle persone qui pensa che un D-Pad sia una cattiva idea, e hanno ragione - il più delle volte. Dungeon Hunter di Gameloft per Android è un ottimo esempio di un fantastico D-Pad per touch-screen. È reattivo, ha una direzione a 360 gradi, non è "stupido". Ciò che intendo dire che non è "stupido", è che quando si preme il D-Pad e si fa scorrere il dito fuori dall'area del D-Pad, non interferisce con ciò che accade sullo schermo - si estende. Quindi se accidentalmente scivoli fuori dall'area D-Pad non perderai il movimento.

Penso che la direzione a 360 gradi e la reattività fuori dai limiti siano importanti e se puoi farlo avrai la possibilità di fare il D-Pad nel modo giusto.


1

Se vuoi implementare un D-Pad, il modo più semplice che mi viene in mente è quello di creare quattro rettangoli (uno per ogni direzione del D-Pad) e quindi verificare se la posizione del tocco rientra nei limiti di uno qualsiasi dei rettangoli .

Come hanno detto gli altri ragazzi; pensaci due volte prima di implementare un D-pad su un touchscreen. D'altra parte ho visto persone che suonavano quegli emulatori GBA tutto il giorno sui loro iPhone.

Dipende da te ... puoi dirci cosa hai intenzione di fare che coinvolge un D-Pad simulato?

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.