miércoles, 7 de julio de 2010

Tarea 3


Hola, lo que quize hacer para esta semana unos ojos que siguen el movimiento del mouse, utilizando el metodo "mouseMoved" entonces se indentificaba la coordenada en la que esta el mouse en cada movimiento, para esto en la pantalla ya habia dibujado cuatro elipses para simular los ojos, el problema vino cuando intente que los elipses de adentro (los que se deben de mover con el movimiento del mouse) se movieran al detectar los cambios de coordenadas, si ponia las variables de las coordenadas del mouse en la funcion g.fillOval(px, py, 30, 30) los elipses se dibujaban en la esquina izquierada de la pantalla, ....aun faltan las restricciones para que el elipse nose salga de los ojos, ... seguire moviendole a esto!!... voia tratar de ver otra forma para mover los elipses con el movimiento del mouse

Esta es la parte del codigo en la que busco mover los elipses
public void paint( Graphics g ){
g.setColor(Color.BLACK);
g.drawOval(110, 80, 120, 80);
g.setColor(Color.BLACK);
g.drawOval(250, 80, 120, 80);
g.setColor(Color.BLACK);
g.fillOval(px, py, 30, 30);//<-aqui fue en donde intente poner px y py para que la ubicacion de las cordenadas se movieran con el mouse pero los circilos negros se colocaban en la coordenada 0,0
g.setColor(Color.BLACK);
g.fillOval(py, px, 30, 30); //lo mismo
}


Tomar las coordenadas del raton

public void mouseMoved(MouseEvent e){
this.px = e.getX();
this.py = e.getY();
System.out.println("Movieron " + px + " , " + py);

return;
}


Aqui esta mi codigo completo --> http://www.mediafire.com/?dwzmzjjd3n2

saludos a todos !

1 comentario:

  1. Lo que tendrías que hacer es poner las coordenadas de los elipses negros RELATIVOS al elipse grande, no a toda la ventana. De hecho, bastaría con calcular la posición en el borde del elipse grande que es la más cercana a la posición del ratón y no intentar guardar la posición en x, y.

    (¿Porqué no estás en clase?)

    ResponderEliminar