Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





No depender de la configuración de teclado en Java

Iniciado por jalbam, 05 de Abril de 2008, 10:06:45 PM

« anterior - próximo »

jalbam

Hola, buenas.

Estoy haciendo un clon del Tetris en Java y para asignar el teclado a un evento, realizo lo siguiente:

       addKeyListener(new java.awt.event.KeyAdapter() {
           public void keyPressed(java.awt.event.KeyEvent evt) {
               TetrisFormKeyPressed(evt);
           }
       });


Todo funciona bien, lo que pasa es que me he dado cuenta que en otros sistemas cuando se deja pulsada una tecla no funciona igual. Todo es debido a cómo tiene configurado ese sistema el teclado. Por ejemplo, en Windows, depende del "Retraso de repetición" y "Velocidad de repetición" (en Panel de control -> Teclado).

He visto juegos que este problema no lo tienen, lo cual es lo normal, pero no sé si alguno de ellos estará hecho en Java o en Java es imposible impedir que esto pase.

¿Hay alguna forma de poder asignar yo mismo la velocidad y retraso de repetición del teclado al pulsar una tecla? Mi idea es que llame a mi método (TetrisFormKeyPressed(evt)) ni muy deprisa ni muy despacio y siempre a la misma velocidad en todos los sistemas (a no ser que sean demasiado lentos y tengan problemas de velocidad, ya que entonces me imagino que será inevitable que funcionen distinto).

Muchas gracias de antemano. Espero no haberme enrollado demasiado :)
-----
Juan Alba Maldonado

jalbam

Hola otra vez.

Me respondo a mi mismo: al final buscando por Google lo he encontrado de casualidad (antes ya había buscado, pero no daba con la consulta adecuada) y ya lo tengo hecho.

Pongo aquí la página para quien le interese:
http://www.gamedev.net/community/forums/topic.asp?topic_id=348728

Evidentemente, la forma en que lo he hecho ha tenido que ser distinta pero lo esencial está ahí.

Lo malo es que para mi Tetris he tenido que poner una velocidad distinta a las teclas de rotar que a las flechas de mover, ya que con la misma iba muy rápido para unas y muy lento para las otras. Aún así hecho en falta, quizá, un retraso inicial después de la primera pulsación (no creo que me entrañe ningún problema implementarlo) para que sea más jugable.

Cuando lo tenga más acabado ya presentaré mi pequeño proyecto en el foro correspondiente, por si a alguien le interesa (que no creo, jejeje).

Hasta pronto ;)
-----
Juan Alba Maldonado






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.