Я хочу создать анимацию, которая выглядит так, как показано по этой ссылке: Ссылка .
Точнее, я хочу, чтобы мои деревья вели себя как облако в ссылке. Я сделал анимацию с деревьями, но она не работает так, как я хочу. Ниже я разместил свой код. Подскажите пожалуйста, как его создать?
package project;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;
public class Trees extends JPanel implements ActionListener {
Timer timer = new Timer(10, this);
BufferedImage img1;
BufferedImage img2;
int x = 0, velX = 2;
int y = 0, velY = 2;
public Trees(BufferedImage[] images) {
img1 = images[0];
img2 = images[1];
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(img1, x, 100, this);
g.drawImage(img2, 300, y, this);
timer.start();
}
@Override
public void actionPerformed(ActionEvent e) {
if(x < 0 || x > 450)
velX = -velX;
if(y < 0 || y > 450)
velY = -velY;
x = x + velX;
y = y + velY;
repaint();
}
public static void main(String[] args) throws IOException {
String[] ids = {"mt1", "mt2"};
BufferedImage[] images = new BufferedImage[ids.length];
for(int j = 0; j < images.length; j++) {
String path = "images\\" + ids[j] + ".png";
images[j] = ImageIO.read(new File(path));
}
Trees test = new Trees(images);
JFrame f = new JFrame();
JPanel panel = new JPanel();
panel.setBackground(Color.BLUE);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(test);
f.setSize(600,600);
f.setVisible(true);
}
}