Réponses:
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
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:
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é.
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.
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.
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.
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é?