Pues no me hagas mucho caso pero creo que tienes unos fallos...
Primero que nada has mezclado el uso de wiimotes con el uso del pad de gamecube, si lo que querias es manejar la nave con el wiimote, primero deberias de haber puesto la secuencia de sincronizacion con el wiimote, puedes copiartela de cualquiera de los ejemplos que hice, luego la linea de
PAD_ScanPads ();
tenias que haberla cambiado por
wiimote** wiimotes;
Pero lo de los wiimotes de momento dejalo y prueba con el pad de gamecube y cuando tengas el codigo bien, lo cambias.
Segundo, ten en cuenta que el movimiento que realizas en la nave luego no lo reflejas a la hora de dibujarla en pantalla, osea, lo de la nave_img.x, creo que no sirve, ya que no existe, ya que no se ha declarado el tipo como tal, en fin... que me estoy liando y seguramente a ti tambien.
La cosa para ir bien seria declarar al principio dos variables, por ejemplo, xx yy, no utilizo x y porque igual alguna libreria puede que las use y te de un error, lo hariamos asi.
int xx;//declaramos la variable como entero
int yy;//declaramos la variable como entero
int main(){
Como tu ya le das un punto de partida a la nave se lo asignamos.
int xx;//declaramos la variable como entero
int yy;//declaramos la variable como entero
xx=20;
yy=30;
int main(){
y ahora dibujamos la nave
int xx;//declaramos la variable como entero
int yy;//declaramos la variable como entero
xx=20;
yy=30;
int main(){
PAD_ScanPads ();
GRRLIB_DrawImg(xx, yy, / *x and y cordenadas donde se dibujara*/nave_width, nave_high, / *anchura y altura de la imf*/nave_img);
Ahora solo nos faltaria cambiar el desplazamiento con la nave con
if (PAD_ButtonsHeld (0) & PAD_BUTTON_RIGHT) xx=xx+4;
La funcion PAD_ButtonsHeld indica que se realizará mientras el boton este pulsado.
Por ultimo, antes del final del while te faltará dibujar lo que tienes en el buffer, osea la nave, esto lo harás con
GRRLIB_Render();
VIDEO_WaitVSync();
}
return(0);
}
Conforme estaria ahora te iria moviendo la nave pero la anterior se quedaría en pantalla por lo tanto al principio del while colocaremos algo para limpiar la pantalla antes de pintar nuestra nave
int main(){
PAD_ScanPads ();
GRRLIB_FillScreen(0x0000); //la pantalla se llena con el color negro
GRRLIB_DrawImg(xx, yy, / *x and y cordenadas donde se dibujara*/nave_width, nave_high, / *anchura y altura de la imf*/nave_img);
Bueno pues asi quedaria mas o menos, puede que tenga fallos ya que todos somos humanos
Espero no haberte liado mucho, y te felicito por atreverte a hacer algo como esto. Si tienes alguna duda mas aqui estoy.
Saludos.