Buenas!
Veréis estoy "intentando" portar un juego de naves a wii que hice hace tiempo para PC y quiero que la nave se mueva con el stick del nunchuk... El problema es que me está volviendo loco y la wii no me lo reconoce el nunchuck.
Aquí os dejo la parte de código que estoy usando:
WPAD_ScanPads();
struct expansion_t exp;
WPAD_Expansion(0, &exp);
// Nunchuk
if (exp.type == WPAD_EXP_NUNCHUK) {
vec2b_t center = exp.nunchuk.js.center;
GRRLIB_Printf(Letra.x, Letra.y+30, Letra.tex, 0xFFFFFFFF, Letra.size, "Nunchuk X: %d", exp.nunchuk.js.pos.x - center.x);
GRRLIB_Printf(Letra.x, Letra.y+40, Letra.tex, 0xFFFFFFFF, Letra.size, "Nunchuk Y: %d", exp.nunchuk.js.pos.y - center.y);
if((exp.nunchuk.js.ang>=315 || exp.nunchuk.js.ang<=center.y) && exp.nunchuk.js.mag>=0.9) { Ship.direccion = ARRIBA; Ship.y -= 2; }
if((exp.nunchuk.js.ang>=90-center && exp.nunchuk.js.ang<=90+center.x) && exp.nunchuk.js.mag>=0.9) { Ship.direccion = DERECHA; Ship.x += 2; }
if((exp.nunchuk.js.ang>=180-center && exp.nunchuk.js.ang<=180+center.y) && exp.nunchuk.js.mag>=0.9) { Ship.direccion = ABAJO; Ship.y += 2; }
if((exp.nunchuk.js.ang>=270-center && exp.nunchuk.js.ang<=270+center.x) && exp.nunchuk.js.mag>=0.9) { Ship.direccion = IZQUIERDA; Ship.x -= 2; }
}
Eso está dentro de una función junto con otras funciones del wiimote (que por cierto si me funciona perfectamente -.-U) a la que llamo desde el bucle principal.
Los printf es para ver si al menos se mueve o algo el stick, pero es que ni aparece el texto porque claro como no reconoce el nunchuk pues ni se mete en el if ._.
Por cierto al inicio del main, y despues de iniciar el modo de vídeo llamo a WPAD_SetDataFormat(WPAD_CHAN_0, WPAD_FMT_BTNS_ACC_IR); supongo que no tendrá nada que ver pero lo pongo por si acaso xD
En teoría debería de funcionar pero es que no entiendo porque leches no lo hace
![muy furioso [+furioso]](/images/smilies/nuevos/furioso.gif)
En fin, a ver si me podéis echar una mano.
Salu2!!