Ver Mensaje Individual
  #7 (permalink)  
Antiguo 04/12/2010, 22:41
johnjoseph91
 
Fecha de Ingreso: diciembre-2010
Mensajes: 1
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Dibujo con canvas

Yo tuve ese mismo problema, lo que sucede es lo siguiente, cuando tu llamas al metodo repaint(); estas diciendo que te borre todo el lienzo y vuelva a dibujar cada uno de sus elementos.. , y por lo que necesitas no es necesario, para solucionarlo creas la siguiente variable:
Graphics nuevoG;
y en tu constructos añades ko siguiente:

setBackground(Color.white); // con eso tenemos fondo blanco

y cuando quieras dibujar usas:

nuevoG = getGraphics();
gc.setXORMode(getBackground()); //este codigo entre otras cosas lo usaremos para borrar solo un segmento del lienzo

es decir, si tu dibujas un punto negro
gc.drawfill(100,100,10,10); -> ejecutas
ahora copia dos veces la misma linea
que te quede asi...
gc.drawfill(100,100,10,10);
gc.drawfill(100,100,10,10); - ejecutas denuevo
vez q desaparece??
has el siguiente cambio
gc.drawfill(100,100,10,10);
gc.drawfill(105,105,10,10);


ES DECIR POR CADA ITERACCIÓN TIENES QUE HACER LOS SIGUIENTE
-DIBUJAR POSICIÓN ANTERIOR (PARA BORRAR)
-DIBUJAR POSICIÓN ACTUAL (PARA PINTAR)

CON ESTO HACEMOS AHORRO DE MEMORIA... porque no borramos todo el contenido del lienzo y la situación se vuelve mas amena... si quiers más info a mi mail.. oks.

[email protected]