Rumah  >  Artikel  >  Java  >  Bagaimanakah Pemasa Boleh Digunakan untuk Mencipta Pergerakan Objek Tertunda Secara Rawak?

Bagaimanakah Pemasa Boleh Digunakan untuk Mencipta Pergerakan Objek Tertunda Secara Rawak?

DDD
DDDasal
2024-10-28 07:19:01484semak imbas

 How Can Timers Be Used to Create Randomly Delayed Movement of Objects?

Mengawal Pergerakan Objek dengan Pemasa

Dalam senario ini, kita mempunyai satu set bentuk yang mesti muncul secara rawak dari bahagian bawah skrin, mencapai ketinggian tertentu dan kemudian turun. Isu timbul apabila semua bentuk bergerak serentak tanpa sebarang kelewatan masa.

Penyelesaian Komprehensif

Untuk menangani perkara ini, kami akan memperkenalkan konsep yang dikenali sebagai "permulaan tertunda rawak." Setiap bentuk akan mempunyai nilai kelewatannya sendiri, dan hanya apabila nilai ini mencapai sifar barulah bentuk itu memulakan pergerakannya. Dengan mengubah nilai kelewatan ini, kami mencipta gelagat rawak yang diingini.

Butiran Pelaksanaan

Dalam kod yang disediakan, kelas Shape kami mempunyai sifat seperti lokasi X bentuk, kedudukan awal Y di bahagian bawah skrin, permulaan tertunda rawak, status lukisan dan arah pergerakan. Kaedah move() memastikan bahawa bentuk hanya mula bergerak setelah bendera draw ditetapkan kepada benar. Apabila bentuk mencapai ketinggian maksimum (dalam kes ini, 50 piksel), ia membalikkan arah dan mula menurun.

Pengurusan Pemasa

Kami menggunakan Pemasa tunggal untuk mengurus pergerakan semua bentuk. Dalam ActionListener pemasa, kami mengulangi bentuk, memanggil kaedah move() dan reduceDelay() mereka. Kaedah declineDelay() mengurangkan nilai mula tertunda rawak dan apabila ia mencapai sifar, bendera seri ditetapkan kepada benar, membenarkan bentuk bergerak.

Demonstrasi Visual

Apabila anda berlari program, anda akan melihat bentuk muncul dari bahagian bawah skrin pada selang masa rawak, mencapai ketinggian tertentu, dan kemudian jatuh semula. Animasi menghasilkan kesan visual yang menarik.

Atas ialah kandungan terperinci Bagaimanakah Pemasa Boleh Digunakan untuk Mencipta Pergerakan Objek Tertunda Secara Rawak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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