Quiero Mover Un Formulario Mientras Presiono Una Tecla De Direccion ¿Como?


Objetivo: 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?

Perfil MP  
Objetivo: 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.

Objetivo: 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!

Perfil MP  
Objetivo: 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.


Página 1 de 1


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.0981s (PHP: -42% SQL: 142%)
Consultas SQL: 22 - Debug off - GZIP Activado