Slette g.drawRect og g.frawOval?
Hej Eksperter.Har den her kode, hvor jeg får en bil til at kopiere sig selv igen og igen, så der ser ud som om den flytter sig, problemet er at jeg gerne vil have det til at se mere realistisk ud, sådan så at hver gang jeg laver en ny, skal den slette den gamle.
Nogen der kan forklare mig hvordan jeg gør det? :-)
(det skal nok lige siges at jeg er meget nybegynder til java)
import javax.swing.*;
import java.awt.*;
/**
*
* @author XsiX
*/
public class MoveCar
{
public static void main(String args[])
{
JFrame win = new JFrame();
Graphics g;
Container cp;
win.setSize(500,500);
win.setDefaultCloseOperation(win.EXIT_ON_CLOSE);
win.setBackground(Color.DARK_GRAY);
win.setVisible(true);
cp = win.getContentPane();
g = cp.getGraphics();
g.setColor(Color.BLUE);
g.drawRect(10, 10, 20, 10);
int i=0;
for(;i<400;i+=30)
{
g.drawRect(10+i,10, 20, 10);
g.drawOval(10+i,20, 10,10);
g.drawOval(20+i,20, 10,10);
waitAlittle();
g.clearRect(10+i,10, 20, 10);
}
int j=0;
for(;j<400;j+=30)
{
g.drawRect(10+i,10+j, 20, 10);
g.drawOval(10+i,20+j, 10,10);
g.drawOval(20+i,20+j, 10,10);
waitAlittle();
g.clearRect(10+i,10+j, 20, 10);
}
int k=0;
for(;k<400;k+=30)
{
g.drawRect(10+i-k,10+j, 20, 10);
g.drawOval(10+i-k,20+j, 10,10);
g.drawOval(20+i-k,20+j, 10,10);
waitAlittle();
g.clearRect(10+i-k,10+j, 20, 10);
}
int l=0;
for(;l<400;l+=30)
{
g.drawRect(10+i-k,10+j-l, 20, 10);
g.drawOval(10+i-k,20+j-l, 10,10);
g.drawOval(20+i-k,20+j-l, 10,10);
waitAlittle();
g.clearRect(10+i-k,10+j-l, 20, 10);
}
int m=0;
for(;m<400;m+=30)
{
g.drawRect(10+i-k+m,10+j-l+m, 20, 10);
g.drawOval(10+i-k+m,20+j-l+m, 10,10);
g.drawOval(20+i-k+m,20+j-l+m, 10,10);
waitAlittle();
g.clearRect(10+i-k+m,10+j-l+m, 20, 10);
}
int n=0;
for(;n<400;n+=30)
{
g.drawRect(10+i-k+m,10+j-l+m-n, 20, 10);
g.drawOval(10+i-k+m,20+j-l+m-n, 10,10);
g.drawOval(20+i-k+m,20+j-l+m-n, 10,10);
waitAlittle();
g.clearRect(10+i-k+m,10+j-l+m-n, 20, 10);
}
int b=0;
for(;b<400;b+=30)
{
g.drawRect(10+i-b,10+b, 20, 10);
g.drawOval(10+i-b,20+b, 10,10);
g.drawOval(20+i-b,20+b, 10,10);
waitAlittle();
g.clearRect(10+i-b,10+b, 20, 10);
}
}
public static void waitAlittle()
{
for(int i=0;i<100000000;i++);
}
}
