Pregunta: | 2126 - GUARDAR PARTE DE UNA IMAGEN |
Autor: | Daniel Sastre Lorenzo |
El problema que tengo es que estamos haciendo que unas pelotas se muevan por la pantalla. Lo hemos hecho sobre un frame. Las pelotas al moverse dejan una trazada. Lo que nos pasa es que cuando hacemos movimientos muy pequeños la trazada no se ve porque es borrada por la pelota que debería crearla, lo mismo ocurre cuando una pelota pasa por encima de la trazada de otra pelota. Hemos pensado que la solución es recortar la parte del frame que redibujamos con la pelota pero no sabemos como recortarla ni tampoco donde guardarla o como recuperar ese tro de frame o imagen. |
Respuesta: | Carlos Garcia |
en java lo que tienes que hacer es extender del Frame y agregarle a tu clase el metodo public void paint(Graphics g){} dentro de ese metodo llamas a repaint() y te vuelve a pintar el Frame y cada vez que cambies las coordenadas pareciera que el objeto se moviera y no te deja rastro |
Respuesta: | Alexis |
hola, si tu guardas las coordenadas de tu pelota, antes de actualizarla, y dibujas una nueva pelota del color del fondo de tu frame, y luego actualizas las coodenadas y dibujas la pelota final, te resultara mas practico que estar definiendo vbariables de imagen y recortando trozos de pantalla |
Respuesta: | Kobe |
Utiliza la tecnica del doble bùfer, crea un objeto Image y otro Graphics, dibuja primero en ellos y luego si se lo envias al paint asi:
Image im = createImage(size().width,size().height); Graphics gr = im.getGraphics(); dibuja en este lo que quiereas dibujar y le reenvias im a g.drawImage |
Respuesta: | Marta Torres |
Si no me equivoco, existe en java la técnica del doble buffer, para que los movimientos no dejen trazadas. |