Créer (ou émuler) un «D-Pad» sur un écran tactile; d-pad virtuel

12

Avec la prolifération des appareils tactiles, beaucoup manquant d'un vrai D-Pad, je me demande si quelqu'un a des ressources pour émuler un D-Pad sur un écran tactile? Je suis particulièrement intéressé par les exemples de code XNA et / ou Android.

Nate
la source

Réponses:

5

Il y a un échantillon XNA de baguettes tactiles ici

Je réitère qu'il est peu probable qu'un dpad soit la bonne interface pour un appareil à écran tactile.

Quelque chose comme ce que Epic a fait avec Infinity Blade pour iPhone peut vous donner l'inspiration Movie Link

Graeme Bradbury
la source
Pour les futurs visiteurs, le lien ci-dessus est désormais 404s. L'exemple peut maintenant être trouvé ici: xbox.create.msdn.com/en-US/sample/touchthumbsticks
Gabriel Isenberg
16

Puis-je vous décourager d'essayer d'émuler un D-pad sur un appareil à écran tactile?

Les problèmes liés à l'émulation d'un D-pad sur un écran tactile sont les suivants:

  • le D-pad occupe l'espace d'écran que vous pourriez utiliser pour le jeu;
  • contrairement à un vrai D-pad, un D-pad émulé n'offre presque aucun retour: en tant que joueur, vous ne pouvez pas dire dans quelle direction vous appuyez, ni par la sensation ni par la vue (puisque votre doigt recouvre le D- sur l'écran). Ainsi, votre doigt glisse trop facilement du D-pad ou sur la mauvaise partie de celui-ci, ce qui entraîne des échappées et de la frustration.

Un appareil à écran tactile est bien plus qu'un appareil "dépourvu d'un vrai D-pad", comme vous le dites. Un appareil à écran tactile permet au joueur de toucher n'importe où sur l'écran et ainsi d' interagir avec n'importe quel élément de jeu visible . Cela donne un large éventail de possibilités de conception de jeux, et ces conceptions sont probablement beaucoup plus agréables à utiliser qu'un D-pad émulé.

Gareth Rees
la source
1
De plus, l'implémentation de Pathing pour un petit écran comme celui-ci est triviale. Zoomez et faites défiler la carte du jeu, puis appuyez sur et chemin!
Stephen Furlani
9

Je sais que ce n'est pas la réponse la plus utile, mais à moins que vous ne portiez un projet depuis une autre plate-forme, je suggère de reconsidérer le D-Pad virtuel. La plupart des implémentations de D-Pads virtuels ont été au mieux médiocres, le manque de rétroaction tactile en fait un mauvais choix pour la plate-forme.

Vous feriez bien mieux de chercher à créer une interface pour votre jeu qui met en évidence les points forts des plates-formes au lieu de construire sur la faiblesse des plates-formes.

wkerslake
la source
Apparemment, Gareth a répondu de la même manière que je tapais cela. Rien à voir ici ... avancer.
wkerslake
Heureux de voir que je ne suis pas seul à ce sujet!
Gareth Rees
3

Comme les autres l'ont dit, il est préférable de proposer un design qui s'adapte à l'environnement, pas de forcer l'environnement à s'adapter à votre design, mais si vous vous en tenez au D-Pad, voici comment vous pouvez le faire:

Si vous considérez le «point de contact» comme un curseur de souris, vous créez essentiellement un «point chaud» qui réagit au mouvement du curseur.

Je pense que la meilleure façon / la plus simple de le faire est de créer une boîte ou un cercle semi-transparent (rappelez-vous, vous couvrez l'écran de jeu) dans un des coins inférieurs, où le joueur est le plus susceptible d'avoir déjà son doigt. Ensuite, vous suivez simplement la position du doigt du joueur par rapport au centre du point chaud, et c'est votre valeur delta d'entrée.

Sinenomen
la source
C'est ainsi que la plupart des jeux résolvent le problème du contrôleur d-pad, semble-t-il. Il craint cependant pour les plates-formes de précision.
Nailer
2

Je vois que la plupart des gens ici pensent qu'un D-Pad est une mauvaise idée, et ils ont raison - la plupart du temps. Dungeon Hunter de Gameloft pour Android est un excellent exemple d'un grand D-Pad pour écrans tactiles. Il est réactif, a une direction à 360 degrés, et n'est pas "stupide". Ce que je veux dire, ce n'est pas "stupide", c'est que lorsque vous appuyez sur le D-Pad et que vous faites glisser votre doigt hors de la zone du D-Pad, cela n'interfère pas avec ce qui se passe à l'écran - il s'étend juste. Donc, si vous glissez accidentellement hors de la zone du D-Pad, vous ne perdrez pas de mouvement.

Je pense que la direction à 360 degrés et la réactivité hors des limites sont importantes et si vous pouvez le faire, vous aurez une chance de bien faire le D-Pad.

Espen
la source
1

Si vous souhaitez implémenter un D-Pad, la façon la plus simple qui me vient à l'esprit est de créer quatre rectangles (un pour chaque direction du D-Pad), puis de vérifier si l'emplacement du toucher se trouve dans les limites de l'un des rectangles .

Comme l'ont dit les autres gars; réfléchissez bien avant d'implémenter un D-Pad sur un écran tactile. D'un autre côté, j'ai vu des gens jouer à ces émulateurs GBA toute la journée sur leurs iPhones.

C'est à vous ... pouvez-vous nous dire ce que vous prévoyez de faire qui implique un D-Pad simulé?

HDgam3r
la source