Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Quiero Mover Un Formulario Mientras Presiono Una Tecla De Direccion ¿Como?
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Quiero Mover Un Formulario Mientras Presiono Una Tecla De Direccion ¿Como? 
 
Hola a todos!
Mi problema es el siguiente:
Estoy haciendo un juego y quiero que al MANTENERr presionada un tecla el formulario se mueva.
Por ejemplo:
Si mantengo pulsada la flecha izquierda, el formulario debe moverse a la izquierda hasta que suelte la tecla.

El evento keypress no me ayuda ya que solo lo mueve una vez.

¿Alguna idea?
 




===================
Sube tus clases, módulos o funciones a Mi Web

No soy un completo inútil. Por lo menos sirvo de mal ejemplo
 
Juan Luis Lopez - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Quiero Mover Un Formulario Mientras Presiono Una Tecla De Direccion ¿Como? 
 
Hola Juan.

¿ Y si tuvieses una rutina por tiempo que controlase que hay pulsada una tecla cada x tiempo ?.
Como si hiciera un barrido.
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Quiero Mover Un Formulario Mientras Presiono Una Tecla De Direccion ¿Como? 
 
Eso es lo que digo.
En el GameLoop (que se ejecuta cada x ms) puse en el evento keypress() la orden de mover el formulario (o el sprite)
El problema es que keypress() si lo llamas cada x ms si la tecla la pulsas, detecta la tecla en el primer barrido, pero en el segundo no.

La solucion que he cogido es:

1.crear una clase con propiedades .X y .XSpeed.

2.Crear un procedimiento MoveAllObjects() que mueva la posicion X de un objeto asi:

  Objeto.X = Objeto.X + Objeto.XSpeed
3.En el keypress()

   Si la tecla es ARRIBA entonces
      Objeto.XSpeed=1
   FinSi

4.En el KeyRelease()
   Si la tecla es ARRIBA entonces
      Objeto.XSpeed=0
   FinSi
5. en el gameloop() (que se ejecuta cada X ms)

    Moveallobjects()

Asi el efecto es que si presiono una tecla se mueve el sprite hacia la direccion que quiero hasta que la suelto.

Gracias por la ayuda!
En breve sacare un conjunto de funciones para crear juegos facilmente usando SDL

Y asi tambien podemos entre todos mejorar algunas cosillas o añadir.

Saludos!
 




===================
Sube tus clases, módulos o funciones a Mi Web

No soy un completo inútil. Por lo menos sirvo de mal ejemplo
 
Juan Luis Lopez - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Quiero Mover Un Formulario Mientras Presiono Una Tecla De Direccion ¿Como? 
 
Me alegro de que solucionaras el problema.

Quedo a la espera de ver tus progresos.
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Mover Formulario techm3 General 7 Martes, 04 May 2010, 12:24 Ver último mensaje
Invitado
No hay nuevos mensajes Desactivar La Tecla Enter Mientras Se Ejec... fjvidals Aplicaciones/Fragmentos de Código 1 Sabado, 25 Septiembre 2010, 19:19 Ver último mensaje
jsbsan
No hay nuevos mensajes Como Deshabilitar Un Formulario Mientras E... jousseph Controles/Librerías/Componentes 2 Jueves, 10 Octobre 2013, 18:53 Ver último mensaje
jousseph
No hay nuevos mensajes Un Detalle Sobre Agrandar Fuentes Mientras... jousseph Aplicaciones/Fragmentos de Código 4 Viernes, 13 Enero 2017, 00:53 Ver último mensaje
vuott
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron