Hacer (o emular) un "D-Pad" en una pantalla táctil; d-pad virtual

12

Con la proliferación de dispositivos táctiles, muchos sin un verdadero D-Pad, me pregunto si alguien tiene recursos sobre cómo emular un D-Pad en una pantalla táctil. Estoy específicamente interesado en ejemplos de código XNA y / o Android.

Nate
fuente

Respuestas:

5

Hay una muestra de XNA de thumbsticks táctiles aquí

Reitero que es poco probable que un dpad sea la interfaz correcta para una pantalla táctil como dispositivo.

Algo parecido a lo que ha hecho Epic con Infinity Blade para iPhone puede inspirarte Movie Link

Graeme Bradbury
fuente
Para futuros visitantes, el enlace de arriba ahora es 404s. El ejemplo ahora se puede encontrar aquí: xbox.create.msdn.com/en-US/sample/touchthumbsticks
Gabriel Isenberg
16

¿Puedo desanimarlo de intentar emular un D-pad en un dispositivo con pantalla táctil?

Los problemas con la emulación de un D-pad en una pantalla táctil son:

  • el D-pad ocupa espacio en la pantalla que podrías estar usando para el juego;
  • a diferencia de un D-pad real, un D-pad emulado casi no ofrece retroalimentación: como jugador, no puedes saber en qué dirección estás presionando, ni por la sensación ni por la vista (ya que tu dedo está cubriendo el D- almohadilla en la pantalla). Por lo tanto, su dedo se desliza con demasiada facilidad del D-pad, o en la parte incorrecta, lo que lleva a balbuceos y frustración.

Un dispositivo con pantalla táctil es mucho más que un dispositivo que "carece de un verdadero D-pad", como usted lo dice. Un dispositivo de pantalla táctil permite al jugador tocar cualquier parte de la pantalla e interactuar con cualquier elemento visible del juego . Esto ofrece una amplia gama de posibilidades de diseño de juegos, y es probable que estos diseños sean mucho más agradables de usar que un D-pad emulado.

Gareth Rees
fuente
1
Además, implementar Pathing para una pantalla pequeña como esa es trivial. Zoom y desplazar el mapa del juego, luego toque y ruta!
Stephen Furlani
9

Sé que esta no es la respuesta más útil, pero a menos que transfieras un proyecto desde otra plataforma, te sugiero que lo reconsideres en el D-Pad virtual. La mayoría de las implementaciones de D-Pads virtuales han sido pobres en el mejor de los casos, la falta de retroalimentación táctil los convierte en una mala elección para la plataforma.

Es mucho mejor mirar la construcción de una interfaz para su juego que resalte las fortalezas de las plataformas en lugar de desarrollar las debilidades de las plataformas.

Wkerslake
fuente
Aparentemente, Gareth respondió de la misma manera que estaba escribiendo eso. Nada que ver aquí, muévanse.
wkerslake
¡Me alegra ver que no estoy solo en esto!
Gareth Rees
3

Como han dicho los demás, es mejor crear un diseño que se adapte al entorno, no forzar el entorno para que se adapte a su diseño, pero si se queda con el D-Pad, así es como podría hacerlo:

Si piensa en el "punto de contacto" como un cursor del mouse, básicamente está creando un "punto caliente" que reacciona al movimiento del cursor.

Creo que la forma mejor / más simple de hacerlo es hacer un cuadro o círculo semitransparente (recuerde, está cubriendo la pantalla del juego) en una de las esquinas inferiores, donde es más probable que el jugador ya tenga su dedo. Luego, simplemente realiza un seguimiento de la posición del dedo del jugador con respecto al centro del punto caliente, y ese es su valor delta de entrada.

Sinenomen
fuente
Esta es la forma en que la mayoría de los juegos resuelven el problema del controlador d-pad que parece. Sin embargo, apesta para plataformas de precisión.
Nailer
2

Veo que la mayoría de las personas aquí piensa que un D-Pad es una mala idea, y tienen razón, la mayoría de las veces. Dungeon Hunter de Gameloft para Android es un gran ejemplo de un gran D-Pad para pantallas táctiles. Es sensible, tiene una dirección de 360 ​​grados, y no es "tonto". Lo que quiero decir es que no es "tonto", es que cuando presionas el D-Pad y deslizas tu dedo fuera del área del D-Pad, no interactúa con lo que sucede en la pantalla, solo se extiende. Entonces, si accidentalmente se desliza fuera del área del D-Pad, no perderá movimiento.

Creo que la dirección de 360 ​​grados y la capacidad de respuesta fuera de los límites es importante y, si puede hacerlo, tendrá la oportunidad de hacer el D-Pad correctamente.

Espen
fuente
1

Si desea implementar un D-Pad, la forma más fácil que se me ocurre es crear cuatro rectángulos (uno para cada dirección del D-Pad) y luego verificar si la ubicación táctil está dentro de los límites de cualquiera de los rectángulos .

Como dijeron los otros chicos; piénselo dos veces antes de implementar un D-Pad en una pantalla táctil. Por otro lado, he visto personas jugando esos emuladores de GBA todo el día en sus iPhones.

Depende de usted ... ¿puede decirnos qué planea hacer que involucre un D-Pad simulado?

HDgam3r
fuente