Ayuda moviendo un sprite[PSP SDL]

Bueno verán tengo el sig codigo

#include <pspkernel.h>
#include <pspdebug.h>
#include <pspctrl.h>
#include <SDL/SDL.h>
#include <SDL/SDL_Image.h>





int main(){
    SceCtrlData pad;
SDL_Surface *Imagen,*PantallaV;
SDL_Rect KenFoto,KenPosicion;
SDL_Event Evento;
SDL_Init(SDL_INIT_VIDEO);
SDL_ShowCursor(0);
PantallaV = SDL_SetVideoMode(480,272,32,SDL_HWSURFACE|SDL_DOUBLEBUF);
KenFoto.x = 6;
KenFoto.y = 2;
KenFoto.w = 61;
KenFoto.h = 65;
KenPosicion.x = 100;
KenPosicion.y = 200;
KenPosicion.w = 61;
KenPosicion.h = 65;
Imagen = IMG_Load("Ken2.png" );
SDL_ShowCursor(0);

SDL_SetColorKey(Imagen,SDL_SRCCOLORKEY|SDL_RLEACCEL,SDL_MapRGBA(Imagen->format,255,0,255,0));
SDL_BlitSurface(Imagen,&KenFoto,PantallaV,&KenPosicion);
SDL_Flip(PantallaV);

while (SDL_WaitEvent(&Evento))
{
     sceCtrlReadBufferPositive(&pad, 1);
     if(pad.Buttons != 0){
        if(pad.Buttons & PSP_CTRL_UP){
       
        KenPosicion.y+=10;
       

        }                     
       if(pad.Buttons & PSP_CTRL_DOWN){
               
         KenPosicion.y-=10;           
         
       }
}
            SDL_BlitSurface(Imagen,&KenFoto,PantallaV,&KenPosicion);
         SDL_Flip(PantallaV);

                                                   
  if (Evento.type == SDL_QUIT) {
                  SDL_FreeSurface(Imagen);
                 SDL_FreeSurface(PantallaV);
    break;
    }
}
return 0;
}


Pero el problema es que no me actualiza el sprite es decir que no se mueve

Alguna idea?
esto va dentro del while?? esque está bastante mal identado y no se ve, espero que en el código no lo tengas así de caótico

SDL_BlitSurface(Imagen,&KenFoto,PantallaV,&KenPosicion);
SDL_Flip(PantallaV);

EDIT: lo he mirado y me parece que está bien esto, has probado a ver si la posición la va cambiando?
El problema es que no se escribir encima de una imagen
Buenasss

A ver he estao mirando y creo que es culpa de esto: SDL_WaitEvent(&Evento)

Lee esta página:

http://docs.mandragor.org/files/Common_libs_documentation/SDL/SDL_Documentation_project_en/sdlwaitevent.html

Yo en mi juego utilizo: SDL_PollEvent(&Evento)

Y va perfecto, yo creo que es eso, porque el waitevent espera indefinidamente a recibir un evento y por tanto supongo que igual se te queda ahi atascado hasta que le das a salir y por eso al no entrar al bucle, no se mueve el bicho.

Alee espero haber servido de ayuda, un saludo.
Muchas gracias era eso
4 respuestas