Cómo animar con java awt
Estoy tratando de hacer una animación de un óvalo rojo que se moverá hacia la derecha de la pantalla. Pero solo dibuja el óvalo. No sé qué estoy haciendo mal y literalmente no puedo encontrar nada sobre cómo hacer esto. Cualquier ayuda sería genial, gracias.
import java.awt.*;
public class mainClass
{
public mainClass()
{
Frame f = new Frame("Ejemplo de lienzo");
f.add(new MyCanvas());
f.setLayout(null);
f.setSize(400, 400);
f.setVisible(true);
}
public static void main(String args[])
{
new mainClass();
}
}
class MyCanvas extends Canvas
{
int x = 75;
public MyCanvas() {
setBackground (Color.BLACK);
setSize(400, 400);
}
public void paint(Graphics g)
{
g.setColor(Color.red);
g.fillOval(x, 75, 150, 75);
}
public void update(Graphics g)
{
x++;
}
}
davy.ai
Para hacer que el óvalo rojo se mueva hacia la derecha, se debe modificar el método
update()
en la claseMyCanvas
para actualizar la coordenada x del óvalo y repintar el lienzo. Aquí te mostramos cómo hacerlo:Al llamar a
repaint()
en el métodoupdate()
, el lienzo se vuelve a dibujar con la posición actualizada del óvalo. Ahora, cada vez que se llama al métodoupdate()
(lo cual ocurre automáticamente cuando el administrador de repintado decide que el lienzo debe actualizarse), el óvalo se mueve un píxel hacia la derecha.