Apakah ada widget alat modern dan bagus untuk Pygame? Saya telah melihat PGU , tetapi tampaknya tidak terawat.
sumber
Apakah ada widget alat modern dan bagus untuk Pygame? Saya telah melihat PGU , tetapi tampaknya tidak terawat.
Tidak. Setiap tahun seseorang membuat perpustakaan UI Pygame baru dan kemudian meninggalkannya setelah beberapa versi, mungkin begitu mereka menyadari bahwa tata letak tombol penulisan itu mudah tetapi menulis perpustakaan UI lengkap adalah pekerjaan nyata. The gui
tag di situs Pygame kronik beberapa.
Kembali pada Januari 2011, saya melihat lima toolkit GUI untuk pygame, dan mencoba membuat semuanya bekerja dengan Python 3. Kelimanya adalah: Albow, GooeyPy, PGU, pqGUI, dan sgc.
Saya tidak berhasil dengan GooeyPy , tetapi saya berhasil membuat empat lainnya bekerja dengan Python 3. (Saya juga ingin mencoba poutine, oleh Shandy Brown, tetapi saya tidak dapat menemukannya, dan saya sepenuhnya mengabaikan Ocemp.)
Sayangnya, Albow dan Ocemp tampaknya sudah mati. Albow terakhir diperbarui pada 2009, dan Ocemp terakhir diperbarui pada 2008. (Perhatikan bahwa versi Albow di pygame.org bukan yang terbaru.)
PGU (Phil's Pygame Utilities) telah diambil alih dan dikelola oleh Peter Rogers, dan Victor Kam mengonversikan sebagian besar ke Python 3. Terakhir diperbarui Januari 2012, dan mungkin ditingkatkan sejak saya memeriksanya. (Perhatikan bahwa versi PGU di pygame.org bukan yang terbaru.)
sgc masih baru dan masih sangat tidak lengkap ketika saya melihatnya. Namun, saat ini sedang dikembangkan secara aktif, dan mungkin jauh lebih baik, sekarang. (Perhatikan bahwa versi sgc di pygame.org bukan yang terbaru.)
Saya menjalankan masing-masing dari lima melalui penghitung Lines-Of-Code sederhana untuk mengukur ukuran mereka:
Ini adalah hasilnya (pada Januari, 2011):
Kode Albow min = 2810, maks = 4551 (maks = 162% dari min) Albow \ demo min = 453, maks = 649 GooeyPy \ gooeypy min = 2034, maks = 3941 (maks = 194% dari min) GooeyPy \ example min = 178, maks = 351 pgu \ pgu min = 2910, maks = 7047 (maks = 242% dari min) termasuk pgu \ pgu \ gui min = 1678, maks = 4638 (maks = 276% dari min) pgu \ example min = 822, maks = 2527 pqGUI.py min = 1586, maks = 1834 (maks = 116% dari min) Example.py min = 178, maks = 225 sgc (tidak lengkap) min = 889, maks = 1243 (maks = 140% dari min)
Dalam setiap kasus, angka "min" lebih mewakili dari "ukuran" toolkit, karena tidak menghitung spasi dan komentar. Ketika angka "max" sangat dekat dengan angka min, itu berarti tidak ada banyak spasi dan tidak banyak komentar dalam kode. pqGUI mencontohkan bahwa, karena hampir tidak memiliki komentar sama sekali (dan juga tidak ada dokumen), yang terlalu buruk, karena (IMO) itu membuat elemen GUI yang paling bagus.
Peringatan utama: dokumen tidak dihitung sebagai komentar! Itu membuat PGU, sgc & GooeyPy, yang memiliki dokumen, terlihat lebih gemuk dan kurang terdokumentasi dari pada yang sebenarnya, dibandingkan dengan Albow dan pqGUI, yang tidak memiliki dokumen.
Saya menyukai pqGUI karena saya menyukai tampilan widget yang dibuatnya, tetapi tidak didukung dan tidak didokumentasikan, dan saya tidak dapat menemukan penulisnya.
Dari lima, per Januari 2011, PGU adalah pemimpin yang jelas. Tetapi saya tidak puas dengan kelima-tiganya, jadi saya menulis sendiri. (Catatan: PGU & sgc keduanya telah diperbarui, dan mungkin ditingkatkan, sejak saya melihatnya.)
Per pengamatan masam Joe Wreschnig (di atas), toolkit GUI saya tidak lengkap, seperti yang lainnya. Tetapi ada beberapa hal yang terjadi untuk itu.
Namun, ini tidak memiliki beberapa kontrol penting yang mungkin Anda inginkan, seperti dialog file-open / combo-box, dan tabel. Kontrol yang ada terlihat bagus, tetapi fitur seperti bilah judul & bilah gulir adalah jumlah piksel yang tetap lebarnya, daripada lebar yang dapat disesuaikan. Kode ini dikomentari dengan baik, dan ada aplikasi demo dengan contoh penggunaan, tetapi tidak ada dokumentasi cara penggunaan yang tepat. Juga, ini pra-beta, jadi semuanya bisa berubah.
Hasil penghitung baris-kode untuk itu adalah:
DavesGUI (w / kode demo) min = 2267, maks = 3055 (maks = 135% dari min) (tanpa kode demo) min = 2018, maks = 2644 (maks = 131% dari min) (tanpa dokumentasi komentar) min = 1442, maks = 2644 (maks = 183% dari min)
Jika, terlepas dari batasan itu, seseorang ingin mencobanya, maka hubungi saya melalui email. Tanyakan tentang "DavesGUI." Alamat email saya ada di sini: http://www.burtonsys.com/email/
Saya baru-baru ini melihat pygtk digunakan dengan pygame dan itu berfungsi dengan sangat baik. Pastikan Anda menggunakan acara paparan dengan widget area menggambar gtk dan memperbarui data pygame pada setiap pass melalui loop utama gtk. Jika Anda ingin toolkit gui lengkap bekerja di dalam pygame itu tidak akan terjadi, tetapi jika Anda ingin toolkit gui lengkap digunakan dengan pygame maka Anda beruntung, pygtk adalah itu. Anda bahkan dapat menggunakan gtk menggunakan bahasa pemrograman C dan masih mengimpor pygame sebagai widget ke area gambar dan memperbarui pygame dengan python jika itu mengapungkan perahu Anda dan Anda menginginkan kecepatan turbocharged. Kenapa ribut, gunakan saja google dan temukan jawabannya kemudian implementasikan, tidak susah dan tidak ada masalah. Ngomong-ngomong, pygame benar-benar keren. Orang-orang itu telah melakukan begitu banyak pekerjaan di dalamnya, dan bekerja dengan sangat efisien, menakjubkan.
Saya telah menambahkan elemen GUI yang sangat mendasar ke pustaka GameEngine saya: http://aharrisbooks.net/pythonGame/ch10/ (Termasuk dalam buku tentang pengembangan game dengan Python)
Saya membangun elemen GUI yang sangat sederhana berdasarkan sprite standar: label, tombol, label multi-line, dan mini-scroll-bar.
Alat-alat ini cukup mendasar, tetapi cukup untuk banyak kegunaan. Tentu saja, pustaka sepenuhnya open-source, jadi silakan memodifikasinya jika Anda mau. Elemen antarmuka satu pengguna yang saya belum tambahkan (belum) adalah widget input teks. Itu karena model acara jauh lebih kompleks untuk ini daripada model lain, dan saya berlari ke tenggat waktu.
Jangan ragu untuk bermain dengan itu (apakah Anda menggunakan buku atau tidak) dan beri tahu saya jika Anda mengalami masalah. Saya akan mencoba membantu.
Saya memiliki video kursus saya yang tersedia di http://synapse.cs.iupui.edu/Mediasite/Catalog/
Lihatlah kursus N451. Itulah pengembangan game.
Kode musim panas Google menambahkan GUI baru: http://blog.sambull.org/pygame-gui-0-2
sumber