Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Varios Joysticks Con Direct Input

Iniciado por disruptorXL, 21 de Marzo de 2004, 09:05:07 AM

« anterior - próximo »

disruptorXL

 para eso tendria que crear otro device ¿no? pero esta vez tendria que ser, por ejemplo si solo hay dos joysticks, el secundario. ¿o no?

corregidme, por favor.

gracias de antemano.

[EX3]

 Hombre, justo lo ke estoy tratando en mi proyecto  :)

Vamos a ver, segun recuerdo no tienes por ke hacer un device mas por cada joystick. A ver si te puedo explicar:

DI tiene una funcion ke te devuelve el numero de dispositivos conectados al ordenador, en este caso joystics. Yo tal como lo tengo programado solo uso el joystick ke estaria en primer lugar de esa lista ke me devuelve DI y configuro la variable objeto con ese joystick. Cual seria la solucion a nuestro problema, en principio muy sencilla. En vez de usar una variable objeto usar un array objeto dinamico, vamos,  un array al ke puedas cambiar sus dimensiones. Luego segun el numero ke te de DI sobre joysticks conectados vas creando un elemento en el array con las propiedades de cada uno de los joisticks y voila! ya tendrias acceso a todos los joystikcks conectados.

Luego yo lo ke hago para leer los datos de los estados del joystick (movimiento y pulsaciones) tengo creada una propiedad conectada a la variable objeto del joystick. En este caso tendriamos ke conectar la propiedad con el array y al llamar a la propiedad (o  funcion, segun estes usando) pasarle un argumento ke seria el ID del joystick en el array.

VAR DI //Variable ke representa a Direct Input.
VAR JOY() //Array ke representaria a los joysiticks.

//...
//Direct Input ya estaria inicializado:

B = DI.GetCount() //Nos devuelve el numero de joysticks conectados.

Desde A = 0 hasta B
REDIM JOY(A) //Añadimos un elemento al array.

//Le asignamos a ese elemento las propiedades de ese joystick.

Vuelta A


//Tipo de dato que recogera los estados del joystick:
TIPO JOYSTATE
{
Axis //Eje
Boton1
Boton2
//...
}

//Funcion ke te devuelve los estados del joystick:
Funcion GET_Joy(nº Joystick, Datos JOYSTATE)
{
Datos.Axis = JOY.Axis(nº Joystick)
Datos.Boton1 = JOY.Boton1(nº Joystick)
//...
}


Si, mi pseudocodigo es una mierda pero mientras se llegue a entender me vale xDDDD y si no pos se pregunta y en paz.

Espero haberte servido de alguna ayuda y tb espero no ir desencaminado ya ke esto aun lo tengo ke probar yo xDDD pero weno algo es algo  ;)

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

disruptorXL

 muchas gracias gracias. y si, mas o menos he entendido el pseudocodigo :)
por cierto. tu no estas en se32?
si es asi: habeis cancelado definitivamente el RAD?

[EX3]

 
QUOTE (disruptorXL)
por cierto. tu no estas en se32?
si es asi: habeis cancelado definitivamente el RAD? [/quote]
Whoa!! www.se32.com, esa web es de un colega mio, Donan, ke era el ke estaba desarrollando el RAD, pero yo no tengo nada ke ver con ese proyecto. Por cierto, el fue kien diseño del logo de la dx_lib32, mi proyecto:


El logo tiene transparencia y por eso se ve asi.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

[EX3]

 
CitarDonan

Nop EX3 es buen amigo y está alojado en nuestro espacio pero solo colabora con cosas del rad. La verdad es que aunque pone cancelado en la web estamos en un periodo de transicion por llamarlo de alguna forma, intentamos rehacer el codigo e implementar cosas novedosas, pero por ahora está algo paralizado. Aun asi en cuanto tengamos algo nuevo del RAD que pueda ver la gente lo mostraremos.

P.D.: ForumMaster o kien este al cargo del foro, me podeis explicar por ke fallan tanto los quotes al poner el nombre en ellos?
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.