• Jueves 14 de Noviembre de 2024, 19:31

Autor Tema:  Movimientos Con El Raton  (Leído 1814 veces)

cybergatita

  • Miembro MUY activo
  • ***
  • Mensajes: 154
    • Ver Perfil
Movimientos Con El Raton
« en: Viernes 25 de Noviembre de 2005, 05:50 »
0
Que tal chicos

estoy implementando un pequeño ajedrez, ya tengo el tablero y las imagenes insertadas en mi Applet
Solo que tengo dudas, con los escuchas o las interfaces para mover mis imagenes/piezas con el mouse/raton. Encontre las siguientes:

MouseListener
mouseClicked(MouseEvent) Se ha pulsado un botón del ratón.
mousePressed(MouseEvent) Se ha presionado un botón del ratón.
mouseReleased(MouseEvent) Se ha soltado un botón del ratón.
mouseEntered(MouseEvent) El puntero del ratón ha entrado en el componente.
mouseExited(MouseEvent) El puntero del ratón ha salido del componente.

MouseMotionListener
mouseDragged(MouseEvent) El puntero del ratón ha cambiado de posición estando presionado uno de los botones.
mouseMoved(MouseEvent) El puntero del ratón ha cambiado de posición.
¿Cuales son las que necesito realmente y tambien realmente como las voy a implementar, cheque que el extends Adapter se usa en vez del implements para las clases?
como ven estoy algo confusa


saludos
ojala puedan ayudarme.

silverfox

  • Miembro MUY activo
  • ***
  • Mensajes: 280
    • Ver Perfil
Re: Movimientos Con El Raton
« Respuesta #1 en: Viernes 25 de Noviembre de 2005, 08:11 »
0
Buenas...

No nos has dicho de qué forma quieres mover las piezas, pero, como vicioso del ajedrez por computadora, te digo que suele haber dos formas básicas de hacerlo:

1.- Pinchando sobre la casilla de la pieza que se quiere mover, la casilla queda marcada. Se pincha luego sobre la casilla destino y la pieza se mueve. Si te equivocaste al pinchar sobre la casilla inicial, pulsando de nuevo sobre ella (o pulsando sobre otra casilla o una tecla en particular), se desmarcará (si pinchaste sobre otra, puede que quieras que se marque esta nueva casilla)

Esto puedes conseguirlo con sólo extender la clase MouseAdapter y sobreescribir el método mouseClicked con lo que quieras hacer en cada momento.

2.- Pinchando sobre la pieza origen la 'coges' y arrastrando el ratón la mueves. Cuando sueltas el botón del ratón, la dejas en algún sitio.

Esto puedes conseguirlo extendiendo la clase MouseAdapter y la MouseMotioAdapter, o bien, extendiendo sólo MouseInputAdapter (que incluye a las dos anteriores). Creo que bastaría con sobreescribir mouseDragged, aunque puede que te haga falta también mousePressed y mouseReleased. Ten cuidado de que el jugador mueva, porque podría soltar la pieza en el mismo sitio de donde la levantó y eso no es un movimiento...


Suerte

Silverfox

chuidiang

  • Miembro MUY activo
  • ***
  • Mensajes: 123
  • Nacionalidad: es
    • Ver Perfil
    • http://www.chuidiang.com
Re: Movimientos Con El Raton
« Respuesta #2 en: Viernes 25 de Noviembre de 2005, 22:50 »
0
Hola:

Una pequeña aclaración nada más.

Puedes hacerlo implementando las interfaces, lo que pasa que eso te obliga a redefinir todos los métodos. En tu caso, según te comenta silverfox, sólo necesitas implementar algunos de ellos, por lo que implementar la interface puede ser pesado. Tienes que poner todos los métodos, aunque sean vacios.

Para evitar esto existen las clases Adapter, como las que mencionais. Estas clases implementan la interface e implementan todos sus métodos para que no hagan nada. Heredando con extends de ellas, sólo necesitas implementar el método que tú quieras.

Se buena.

cybergatita

  • Miembro MUY activo
  • ***
  • Mensajes: 154
    • Ver Perfil
Re: Movimientos Con El Raton
« Respuesta #3 en: Viernes 25 de Noviembre de 2005, 23:14 »
0
Gracias por sus respuestas a ambos.

pero bueno yo tenia pensando arrastrar la pieza y soltarla hasta el sitio que le corresponda.

ya mas o menos tengo idea con que metodos


pero la GRAN duda que tengo es que opciones, que parametros, o que tipo de operaciones hay en esos metodos para mover la pieza:

mouseDragged(MouseEvent){

//aquii es la duda
}

gracias y ojala puedan sacarme de esta laguna que tengo como duda.

silverfox

  • Miembro MUY activo
  • ***
  • Mensajes: 280
    • Ver Perfil
Re: Movimientos Con El Raton
« Respuesta #4 en: Lunes 28 de Noviembre de 2005, 09:28 »
0
Tal y como escribes tú misma...

mouseDragged(MouseEvent) { ... }

No tienes más que el evento que desencadena la acción. Lee la información del API de J2SDK de la clase MouseEvent. Verás que tiene métodos para conseguir la posición del ratón, que son los que creo que necesitarás.

Suerte con ese juego, espero que juegue bien...    :P

Silverfox