Tanpa basa-basi lagi, saya hanya akan memposting kode java untuk Anda.
impor java.awt.Color; impor java.awt.Graphics; impor java.awt.image.BufferedImage; impor javax.swing.JFrame; (~)Jumlah meteor final int SLEEP = ; // Kecepatan terbang meteor (semakin besar nilainya, semakin lambat kecepatannya) final int COLORLV = ; (~) Skala warna (dapat mengubah ukuran halo) final String COLOR = null; // ("#"~"#ffffff") Warna Halo (jika tidak diisi atau null, itu adalah warna default) final int SIZE = ; // (~) Panel MyPanel pribadi ukuran meteor; public MeteorFly() { panel = new MyPanel(); Buat formulir this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); public static void main(String[] args) { new MeteorFly() } class MyPanel extends JPanel mengimplementasikan Runnable { Meteor p[]; AppletWidth, AppletHeight; Grafik Luar Layar BufferedImage; drawOffScreen; Thread pThread; public MyPanel() { setBackground(Color.black); //Inisialisasi formulir AppletWidth = ; AppletHeight = ; p = new Meteor[MAX]; ] = Meteor baru(); OffScreen = BufferedImage baru(Lebar Applet, Tinggi Applet, BufferedImage.TYPE_INT_BGR); drawOffScreen = OffScreen.getGraphics(); pThread = new Thread(this); g); g.drawImage(OffScreen, , , ini); run() { while (true) { // drawOffScreen.clearRect(, , AppletWidth, AppletHeight); .warna); // warna RGB drawOffScreen.fillOval(p[i].x, p[i].y, UKURAN, UKURAN); p[i].x += p[i].mx; p[i].y += p[i].my; // jika (p[i].x > Lebar Applet || p[i].y > Tinggi Applet) { // p[i].reset(); // } int x = p[i].x; int y = p[i].y; int R = p[i].warna.getRed( ); // Ekstrak warna int G = p[i].color.getGreen(); int B = p[i].color.getBlue(); break; } R -= COLORLV; // Memudarkan warna ekor jika (R < ) { R = ; } G -= COLORLV; jika (G < ) { G = } B -= COLORLV; { B = ; } Warna warna = Warna baru(R, G, B); drawOffScreen .fillOval(x, y, UKURAN, UKURAN } if (x > AppletWidth || y > AppletHeight) {// Meteor terbang keluar jendela, setel ulang meteor p[i].reset(); } } repaint(); coba { Thread.sleep(SLEEP); catch (InterruptedException e) { // TODO Blok tangkapan yang dibuat secara otomatis e.printStackTrace(); } } } } class Meteor { // Kelas meteor int x, y; // Posisi meteor int mx, my; color; // Warna meteor public Meteor() { reset() } public void reset() { int rand = (int) (Math.random() * ); = (int) (Matematika.acak() * ); y = ; } lain { y = (int) (Matematika.acak() * ); (Math.random() * + ); //Menghasilkan kecepatan dan sudut jatuh secara acak my = (int) (Math.random() * + ); warna = Warna baru( // Warna acak (Ganda baru(Math.random() * )).intValue() + , (Ganda baru(Math.random() * )).intValue() + , (baru Ganda(Matematika.acak() * )).intValue() + } else { warna = Warna.dekode(WARNA);Kode di atas adalah kode Java murni yang diberitahukan artikel ini kepada Anda untuk mengimplementasikan meteor melintasi langit.