Segui el consejo de AgustinOrtu e indague sobre el tema del debugger pero termine muy confundido xDD
Perooo leyendo entendi osea el proceso
ControlarEventos; deberia activarse al presionar una tecla debido a que dependiendo la tecla que sea produce una accion (en este caso moveria el Sprite que cargue) para eso tengo el procedure
Leer; en la clase TTeclado que me lee algun evento del teclado.
Código Delphi
[-]procedure TTeclado.Leer;
begin
if SDL_PollEvent( @Evento ) > 0 then
begin
if Evento.type_ = SDL_KEYDOWN then
begin
x := True; iUltTec := Evento.key.keysym.sym;
case Evento.key.keysym.sym of
SDLK_ESCAPE: bSalir := True;
SDLK_RIGHT: bDerecha := True;
SDLK_LEFT: bIzquierda := True;
SDLK_UP: bArriba := True;
SDLK_DOWN: bAbajo := True;
SDLK_SPACE: bEspacio := True;
SDLK_RETURN: bIntro := True;
SDLK_LCTRL: bCtrl_Izq := True;
end;
end;
if Evento.type_ = SDL_KEYUP then
begin
iUltTec := 0;
case Evento.key.keysym.sym of
SDLK_RIGHT: bDerecha := False;
SDLK_LEFT: bIzquierda := False;
SDLK_UP: bArriba := False;
SDLK_DOWN: bAbajo := False;
SDLK_SPACE: bEspacio := False;
SDLK_RETURN: bIntro := False;
SDLK_LCTRL: bCtrl_Izq := False;
end;
end;
end;
x := False; end;
Lo que dice "Introducido recientemente" lo puse asi para que en el bucle principal del programa si se cumple la condicion:
Código Delphi
[-]Temporizador.Incrementar;
if x = True then
ControlarEventos;
me ejecute el procedure ControlarEventos; y no cada 25 mls(Debido a que es un juego tiene que tener un tiempo de reaccion rapido no? Por lo cual cada 25 mls el Temporizador se actualiza) ahora cuando lo ejecuto no da error pero no hace nada en el procedure ControlarEventos; y comprobe si se cumplia la condicion y en efecto puse ShowMessage() debajo de cada Introduccido recientemente y al momento de ejecuccion me devolvia los valores asignados, deberas perdon por insistir tanto pero alguna idea de como resolver este meollo
??