sábado, 28 de noviembre de 2009

Enviando datos a PPJoy...... Simulando un Joystick

Aquí os explicaré como enviar datos mediante VB .NET a un Joystick Virtual del PPJoy.

Primero debemos agregar  PPJoyWrapper.dll a nuestro proyecto y hacer referencia a ella.
Seguidamente tenemos que añadir la siguiente línea al principio de nuestro código:
                         
Imports PPJoy

Creamos una instancia al objeto PPJoy y definimos una variable para indicar el número del joystick virtual:

Dim joy_no As Integer = 1  ' Número del Joystick Virtual.

Dim joy As New PPJoy.VirtualJoystick(joy_no)

Para enviar datos analógicos (por ejemplo los ejes):

joy.SetAnalogDataSourceValue(x, valor)   donde x es el nº de entrada analógica y valor pues eso, el valor

y para enviar datos digitales (por ejemplo los botones):

joy.SetDigitalDataSourceState(x, estado)  donde x es el nº del botón y estado TRUE/FALSE (pulsado)

No olvidarse después de enviar los datos de "decírselo" al PPJoy:

joy.SendUpdates()


Con todo esto ya podemos enviar datos al joystick virtual . Existen muchos mas métodos que si os interesa dentro del PPJoyWrapper (del cual tenéis el enlace mas abajo) encontraréis una ayuda donde os los explican.


6 comentarios:

  1. estuve haciendo una pruebas y de vez en cunado el sendUpdate() me tira una exepcion: Se está ejecutando la operación de E/S superpuesta, y no se a que se debe.
    si me puedes ayudar te lo agradecería

    Gracias.

    ResponderEliminar
  2. Hola asdasd,
    La verdad es la primera vez que veo que aparezca ese error.
    Podrías decirme que sistema tienes ¿?

    ResponderEliminar
  3. tengo win 7 y visual estudio 10, la solución fue poner un try catch así no se cae, pero cuando se va por el catch el eje x (con el k esto probando)se va a tope y después vuelve al valor correcto, por suerte al jugar no se nota :P

    ResponderEliminar
  4. Ok, veo que lo has solucionado. Yo en su día usaba win XP y visual 2008.

    Te invito a visitar mi otro blog (más activo) y con el proyecto actual:

    iceslot.sytes.net

    ResponderEliminar
  5. oka me voy a dar una vuelta ;) y gracias fue en la única parte que encontré buena info

    ResponderEliminar