bantuan pygame tentang menambahkan lapisan

Saya sedang mengerjakan proyek di pygame. Saya membuat menu makanan. Di setiap kotak, ketika saya menggerakkan mouse ke atasnya, batasnya berubah menjadi biru dan teks "Klik lagi" muncul

8 kotak

Ketika saya mengklik "Klik lainnya", saya ingin lapisan baru muncul di atas kotak dan saya ingin semua kotak di belakang tidak dapat diakses kecuali saya menutup lapisan tersebut.

lapisan putih

Namun, yang saya lakukan saat ini hanyalah menggambar persegi panjang sederhana sehingga semua kotak di belakang dapat diklik seperti biasa, seperti ini

kotak belakang berubah menjadi biru jika saya menggerakkan mouse ke atasnya

Saya telah membaca sedikit tentang menambahkan lapisan di pygame tetapi saya tidak bisa mendapatkannya. Saya hanya mengerjakan pygame selama 2 minggu.


person tad    schedule 06.11.2018    source sumber


Jawaban (1)


Ada banyak cara untuk menerapkan hal ini.

Salah satu cara yang mungkin adalah dengan menyetel variabel bendera boolean ke False setiap kali lapisan digambar, dan memeriksa nilai variabel bendera setiap kali mouse diklik: jika salah, jangan biarkan klik sampai ke pengendalinya.

Jika Anda menerapkan ini menggunakan pemrograman berorientasi objek, Anda bisa membuat objek "LayerManager" yang melacak berbagai lapisan, posisinya, dan cara tumpang tindihnya (jika Anda berencana memiliki banyak lapisan di atas satu sama lain).

Sejauh yang saya tahu, PyGame tidak mengizinkan Anda menggunakan lapisan sesuai keinginan Anda karena itu adalah fitur yang cukup spesifik yang mungkin harus Anda terapkan sendiri. Jika Anda memposting kode, kami dengan senang hati akan membantu Anda!

person Community    schedule 07.11.2018