Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 23-03-2016
Bant Bant is offline
Miembro
NULL
 
Registrado: mar 2016
Posts: 19
Poder: 0
Bant Va por buen camino
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
  // ¿Se ha producido un evento?
  if SDL_PollEvent( @Evento ) > 0 then

  begin
    // ¿Ha pulsado una tecla?
    if Evento.type_ = SDL_KEYDOWN then
    begin
      x := True; //Introducido recientemente
      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;

    // ¿Ha levantado una tecla?
    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;  //Introducido recientemente
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 ??
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error EAccessViolation !? ManelC Varios 9 05-07-2008 21:58:42
Exeception EAccessViolation error thelibmx Varios 0 02-07-2007 17:48:59
Error EAccessViolation chele Firebird e Interbase 0 09-11-2004 16:51:21
Error EAccessViolation.... JorgeBec Conexión con bases de datos 5 18-02-2004 22:34:11
Error de exception jgutti Varios 1 20-11-2003 02:03:15


La franja horaria es GMT +2. Ahora son las 12:30:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi