PyGame adalah pustaka pengembangan game yang kuat dan populer untuk Python. Ini menyediakan seperangkat alat dan fungsi yang memudahkan pembuatan game dan aplikasi interaktif lainnya. Salah satu fitur berguna dari PyGame adalah kemampuannya untuk menggambar objek dan bentuk.
Modul pygame.draw
Di PyGame, menggambar objek dan bentuk adalah proses yang mudah. Anda dapat menggunakan pygame.draw modul untuk menggambar bentuk seperti persegi panjang, lingkaran, garis, dan lainnya.
Sebelum memulai, pastikan Anda memilikinya pip diinstal pada perangkat Anda, lalu gunakan perintah ini untuk menginstal PyGame modul:
pip instal pygame
Menggambar Bentuk Dasar
Itu pygame.draw modul menyediakan beberapa fungsi yang memungkinkan Anda menggambar bentuk dasar. Setiap fungsi membutuhkan sekumpulan parameter untuk menentukan bentuk dan posisinya.
-
lurus(): Anda dapat menggambar persegi panjang menggunakan fungsi ini. Ini adalah salah satu bentuk yang paling umum digunakan dalam game. Anda dapat membuat platform, dinding, dan objek lain dengan persegi panjang. Fungsi mengambil empat parameter: permukaan (permukaan untuk menggambar persegi panjang), warna, persegi (objek persegi), dan lebar (ketebalan garis).
pygame.draw.rect (permukaan, warna, persegi panjang, lebar)
-
lingkaran(): Menggambar lingkaran. Dibutuhkan empat parameter: permukaan, warna, pos (pusat lingkaran), dan jari-jari.
pygame.draw.circle (permukaan, warna, pos, radius)
-
poligon(): Menggambar poligon. Dibutuhkan empat parameter: permukaan, warna, titik (daftar titik yang menentukan bentuk poligon), dan lebar.
pygame.draw.polygon (permukaan, warna, titik, lebar)
-
garis(): Menggambar garis. Dibutuhkan empat parameter: permukaan, warna, start_pos, dan end_pos.
pygame.draw.line (permukaan, warna, start_pos, end_pos)
Anda dapat menemukan daftar lengkap fungsi dan parameternya di situs resmi Dokumentasi PyGame untuk modul draw.
Menggambar Bentuk Kompleks
Selain bentuk dasar, PyGame juga memungkinkan Anda untuk menggambar bentuk kompleks seperti busur, elips, dan aaline.
-
busur(): Fungsi ini menggambar busur pada permukaan. Busur adalah bagian dari lingkaran. Dibutuhkan enam parameter: permukaan, warna, persegi panjang, sudut_awal, sudut_ujung, dan lebar. Tentukan sudut dalam derajat, dengan 0 derajat menunjuk ke kanan dan meningkat searah jarum jam. Parameter lebar menentukan ketebalan busur.
pygame.draw.arc (permukaan, warna, persegi panjang, sudut_awal, sudut_ujung, lebar)
-
elips(): Menggambar elips pada permukaan. Elips adalah lingkaran yang direntangkan. Dibutuhkan empat parameter: permukaan, warna, persegi panjang, dan lebar.
pygame.draw.ellipse (permukaan, warna, persegi panjang, lebar)
-
aaline(): Gunakan untuk menggambar satu garis anti-alias pada permukaan. Anti-aliasing adalah teknik yang digunakan untuk memperhalus tepi suatu bentuk, sehingga terlihat lebih alami. Dibutuhkan empat parameter yang mencerminkan garis() fungsi: permukaan, warna, start_pos, dan end_pos.
pygame.draw.aaline (permukaan, warna, start_pos, end_pos)
Membuat Bentuk Bersarang di PyGame
Fitur lain yang menarik dari PyGame adalah kemampuan menggambar bentuk di dalam bentuk lain. Anda dapat melakukannya menggunakan kombinasi fungsi menggambar bentuk dasar di PyGame.
Untuk menggambar bentuk di dalam bentuk lain, pertama-tama Anda dapat menggambar bentuk bagian dalam, lalu menggambar bentuk bagian luar di atasnya. Bentuk bagian dalam dapat berupa bentuk dasar apa pun, seperti persegi panjang atau lingkaran.
Misalnya, untuk menggambar persegi panjang di dalam lingkaran, Anda bisa menggunakan pygame.draw.circle() berfungsi untuk menggambar lingkaran, dan kemudian menggunakan pygame.draw.rect() berfungsi untuk menggambar persegi panjang di atasnya.
Anda dapat menemukan contoh kode berikut di repo GitHub ini.
Berikut adalah cuplikan kode contoh yang menunjukkan cara menggambar persegi panjang di dalam lingkaran:
impor pygame
# Inisialisasi pygame
pygame.init()# Buat jendela
jendela = pygame.display.set_mode((800, 600))# Buat lingkaran
circle_rect = pygame.draw.circle (jendela, (255, 255, 255), (400, 300), 100)# Buat permukaan untuk persegi panjang
persegi panjang_permukaan = pygame. Permukaan((50, 50))
persegi panjang_permukaan.set_colorkey((0, 0, 0))# Gambar persegi panjang di permukaan
pygame.draw.rect (permukaan_persegi panjang, (255, 0, 0), (0, 0, 50, 50))# Blit permukaan ke lingkaran
window.blit (permukaan_persegi, (375, 275))# Putaran utama
ketikaBENAR:
# Keluar dari permainan
untuk peristiwa di dalam pygame.event.get():
jika event.type == pygame. BERHENTI:
pygame.berhenti()
KELUAR()
# Perbarui tampilan
pygame.display.update()
Ini menciptakan efek persegi panjang di dalam lingkaran. Anda dapat menggunakan teknik ini untuk membuat bentuk dan elemen permainan yang lebih kompleks dengan menggabungkan beberapa bentuk.
Menggambar Gambar
PyGame juga memungkinkan Anda untuk menggambar. Anda dapat menggunakan pygame.image.load() berfungsi untuk memuat gambar dari file dan pygame.image.blit() berfungsi untuk menggambar gambar di layar.
Sintaks untuk pygame.image.load() terlihat seperti ini:
pygame.image.load (nama file)
Dan inilah sintaks untuk pygame.image.blit():
pygame.image.blit (gambar, persegi panjang)
Selain memuat dan menggambar gambar, PyGame juga menyediakan beberapa fungsi terkait gambar lainnya. Fungsi-fungsi ini memungkinkan Anda memanipulasi gambar dengan berbagai cara, seperti penskalaan, pemutaran, pembalikan, dan pemotongan.
Menambahkan Fitur Lanjutan
PyGame juga menyediakan beberapa fitur canggih untuk menggambar objek dan bentuk. Misalnya, Anda dapat menggunakan pygame.mouse.get_pos() berfungsi untuk mendapatkan posisi mouse dan pygame.mouse.get_pressed() berfungsi untuk mendapatkan status tombol mouse. Dengan fungsi ini, Anda dapat membuat fitur klik untuk menggambar yang memungkinkan Anda menggambar bentuk dengan mengklik mouse.
impor pygame
# Inisialisasi pygame
pygame.init()# Buat jendela
jendela = pygame.display.set_mode((800, 600))# Putaran utama
ketikaBENAR:
# Dapatkan posisi mouse
mouse_position = pygame.mouse.get_pos()# Dapatkan status tombol mouse
mouse_pressed = pygame.mouse.get_pressed()# Keluar dari permainan
untuk peristiwa di dalam pygame.event.get():
jika event.type == pygame. BERHENTI:
pygame.berhenti()
KELUAR()# Menggambar lingkaran saat mouse ditekan
jika mouse_ditekan[0] == 1:
pygame.draw.circle (jendela, (255, 0, 0), posisi_mouse, 20)
# Perbarui tampilan
pygame.display.update()
Di bawah ini adalah outputnya:
Membuat Game Sprite dengan Mudah di PyGame
PyGame juga menyediakan seperangkat alat yang ampuh untuk membuat sprite dan objek game dengan mudah. Dengan pygame.draw modul, Anda dapat dengan mudah membuat sprite yang dapat Anda gunakan dalam gim Anda. Anda dapat membuat karakter, objek, dan elemen game lainnya dengan mudah.