Rumah > Java > javaTutorial > Bagaimana untuk Mencipta Objek Bergerak Secara Rawak dengan Pemasa Individu di Jawa?

Bagaimana untuk Mencipta Objek Bergerak Secara Rawak dengan Pemasa Individu di Jawa?

Barbara Streisand
Lepaskan: 2024-10-29 16:32:02
asal
337 orang telah melayarinya

 How to Create Randomly Moving Objects with Individual Timers in Java?

Objek Bergerak dengan Pemasa Rawak

Matlamat anda ialah untuk mencipta objek bergerak yang muncul secara rawak dari bahagian bawah skrin, mencapai ketinggian tertentu dan kemudian turun. Untuk mengelakkan semua bentuk bermula serentak, anda perlu melaksanakan pemasa individu untuk setiap objek.

Pendekatan yang disediakan di bawah menggunakan kelas Bentuk yang merangkum setiap sifat objek, termasuk kelewatan awal rawaknya. Di dalam pendengar tindakan pemasa, kaedah Shape dipanggil untuk mengendalikan pergerakan, pengurangan kelewatan dan lukisan.

<code class="java">import java.awt.event.ActionListener;
import java.util.List;
import java.util.Random;

class Shape {

    // Object properties
    int x;
    int y;
    boolean draw;
    int randomDelay; // Delay before the object starts moving

    public Shape(int x, int randomDelay) {
        this.x = x;
        this.y = 0; // Start at the bottom of the screen
        this.draw = false;
        this.randomDelay = randomDelay;
    }

    // Object movement logic
    public void move() {
        if (draw) {
            y++; // Move up or down based on the current state
        }
    }

    // Decrease the delay
    public void decreaseDelay() {
        randomDelay--;
        if (randomDelay <= 0) {
            draw = true; // Start drawing the object once the delay reaches zero
        }
    }

    // Draw the object
    public void draw(Graphics g) {
        if (draw) {
            // Draw the shape on the screen
        }
    }
}
Salin selepas log masuk

Pendekatan ini memastikan setiap bentuk mempunyai kelewatan rawak yang unik, menghalang mereka daripada memulakan pergerakannya. pada masa yang sama.

<code class="java">// Create a list of Shape objects with random delays
List<Shape> shapes = new ArrayList<>();
for (int i = 0; i < 10; i++) {
    Random random = new Random();
    int randomXLoc = random.nextInt(width);
    int randomDelay = random.nextInt(500); // Set a random delay between 0 and 499 milliseconds
    shapes.add(new Shape(randomXLoc, randomDelay));
}

// Initialize a timer and specify the action listener
Timer timer = new Timer(10, new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        for (Shape shape : shapes) {
            shape.move();
            shape.decreaseDelay();
            shape.draw(g); // Draw the shape if allowed
        }
    }
});

// Start the timer
timer.start();</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Objek Bergerak Secara Rawak dengan Pemasa Individu di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan