Tecnología

Inicio

¿Cuál es la diferencia entre un control de entrada analógica y una entrada digital de control de XNA?

¿Cuál es la diferencia entre un control de entrada analógica y una entrada digital de control de XNA?


Microsoft ha desarrollado su software XNA para ayudar a los desarrolladores en la creación de videojuegos para las consolas Xbox 360 y Windows PC. XNA maneja todos los aspectos de la programación de videojuegos, incluyendo la aceptación de la entrada del controlador como el jugador manipula sus palancas y botones. Controlador de datos tiene dos formas diferentes, analógico y digital. de datos analógico lleva en un rango continuo de valores; la información digital es discreto.

Operación

A medida que juega un juego de vídeo, utiliza dos controles analógicos y digitales. Un controlador de Xbox 360, por ejemplo, tiene "stick" controla que los datos analógicos de salida a través de una gama de posiciones derecha-izquierda-atrás y hacia adelante. Una sola posición consiste en dos números: uno a lo largo del eje derecha-izquierda y la otra a lo largo del eje de adelante-atrás. Los controles digitales, por otro lado, tienen estados discretos, tales como "on" u "off." Los pulsadores de los datos digitales de salida del controlador. Para ayudar a los desarrolladores de juegos, XNA incluye objetos de software que tienen las variables de varios valores de entrada analógica y los valores específicos para la entrada digital.

controles

El controlador de Xbox tiene 10 digital y cuatro controles analógicos. Los controles digitales incluyen interruptores de encendido y apagado como disparadores izquierdo y derecho, parachoques y el botón de guía. El D-pad es un mando digital que tiene cuatro valores discretos: arriba, abajo, izquierda y derecha. El controlador tiene dos controles stick analógico, cada una de las cuales le permiten especificar una ubicación en un plano XY. Cuando se aprieta un gatillo de control, que tiene un efecto de variación continua a través de su rango de movimiento. Además de la Xbox, XNA trabaja en el software de juegos de PC. En el PC, controles digitales incluyen el los botones del ratón y el teclado. Cada tecla del teclado es ya sea hacia arriba o hacia abajo; Los botones del ratón se hace clic o no. movimientos hacia adelante-atrás y de izquierda-derecha del ratón constituyen datos analógicos.

Programación

Para utilizar la entrada analógica palo de la consola Xbox en un programa usando XNA, se especifica objeto los joysticks. Tiene las propiedades de "izquierda" y "derecha", que identifica el palo, y "X" e "Y", que contiene los valores del eje izquierda-derecha y adelante-atrás, como ilustra el siguiente código:

stickLeftX = currentState.ThumbSticks.Left.X;
stickLeftY = currentState.ThumbSticks.Left.Y;
stickRightX = currentState.ThumbSticks.Right.X;
stickRightY = currentState.ThumbSticks.Right.Y;

controles analógicos producen valores numéricos que utiliza en su programa. El programa pone a prueba el estado de un control digital y lleva a cabo acciones en función del resultado de la prueba, ya que esta línea de código muestra:

si (GamePad.GetState (PlayerIndex.One) .Buttons.A == ButtonState.Pressed)

abc = 1;

En este ejemplo, al jugador se presiona el botón "A" en su controlador, el programa establece la variable "abc" al valor de uno. Tenga en cuenta que "A" es una propiedad de la "Botones" objeto de colección.

aplicaciones

En los programas de juegos, controles analógicos de un solo parámetro determinan cantidades variables tales como la velocidad de un coche de carreras o la fuerza detrás de un campo de béisbol. controles de palo le permiten establecer una cantidad variable y una dirección, lo que permite utilizar el palo para "dirigir" una nave espacial y determinar su velocidad. El control D-pad puede establecer una dirección pero, al ser digital, no se puede establecer una velocidad u otro parámetro variable. Los botones de control, también digital, desencadenan diversos eventos, tales como iniciar un juego o mostrar un mapa.