Sizin gibi okuyucular MUO'yu desteklemeye yardımcı oluyor. Sitemizdeki bağlantıları kullanarak bir satın alma işlemi gerçekleştirdiğinizde, bir ortaklık komisyonu kazanabiliriz. Devamını oku.

PyGame, Python için güçlü ve popüler bir oyun geliştirme kitaplığıdır. Oyunlar ve diğer etkileşimli uygulamalar oluşturmayı kolaylaştıran bir dizi araç ve işlev sağlar. PyGame'in kullanışlı bir özelliği, nesneleri ve şekilleri çizme yeteneğidir.

pygame.draw Modülü

PyGame'de nesneleri ve şekilleri çizmek basit bir işlemdir. kullanabilirsiniz pygame.draw dikdörtgenler, daireler, çizgiler ve daha fazlası gibi şekiller çizmek için modül.

Başlamadan önce, sahip olduğunuzdan emin olun. cihazınızda yüklü pip, ardından yüklemek için bu komutu kullanın. PyGame modül:

pip kurulumu pygame

Temel Şekiller Çizimi

bu pygame.draw modülü, temel şekiller çizmenize izin veren çeşitli işlevler sağlar. Her işlev, şekli ve konumunu tanımlamak için bir dizi parametre alır.

  • doğrult(): Bu işlevi kullanarak bir dikdörtgen çizebilirsiniz. Bu, oyunlarda en sık kullanılan şekillerden biridir. Dikdörtgenlerle platformlar, duvarlar ve başka nesneler oluşturabilirsiniz. İşlev dört parametre alır: yüzey (dikdörtgenin çizileceği yüzey), renk, rect (bir Rect nesnesi) ve genişlik (çizgi kalınlığı).
    instagram viewer
    pygame.draw.rect (yüzey, renk, rect, genişlik)
  • daire(): Bir daire çizin. Dört parametre alır: yüzey, renk, konum (dairenin merkezi) ve yarıçap.
    pygame.draw.circle (yüzey, renk, konum, yarıçap)
  • çokgen(): Bir çokgen çizin. Dört parametre alır: yüzey, renk, noktalar (çokgenin şeklini tanımlayan noktaların listesi) ve genişlik.
    pygame.draw.polygon (yüzey, renk, noktalar, genişlik) 
  • astar(): Bir çizgi çiz. Dört parametre alır: yüzey, renk, start_pos ve end_pos.
    pygame.draw.line (yüzey, renk, start_pos, end_pos) 

İşlevlerin tam listesini ve parametrelerini resmi web sitesinde bulabilirsiniz. Draw modülü için PyGame belgeleri.

Karmaşık Şekiller Çizmek

PyGame, temel şekillerin yanı sıra yaylar, elipsler ve tek çizgiler gibi karmaşık şekiller çizmenize de olanak tanır.

  • ark(): Bu fonksiyon bir yüzey üzerinde bir yay çizer. Yay, dairenin bir parçasıdır. Altı parametre alır: yüzey, renk, dik, başlangıç_açı, bitiş_açı ve genişlik. Açıları, 0 derece sağa bakacak ve saat yönünde artacak şekilde derece cinsinden belirtin. Genişlik parametresi yayın kalınlığını belirtir.
    pygame.draw.arc (yüzey, renk, dik, başlangıç_açı, bitiş_açı, genişlik)
  • elips(): Bir yüzey üzerine bir elips çizin. Bir elips, gerilmiş bir dairedir. Dört parametre alır: yüzey, renk, düz ve genişlik.
    pygame.draw.ellipse (yüzey, renk, dikdörtgen, genişlik)
  • aaline(): Bir yüzey üzerinde tek bir kenar yumuşatma çizgisi çizmek için kullanın. Kenar yumuşatma, bir şeklin kenarlarını yumuşatmak için kullanılan bir tekniktir, böylece daha doğal görünür. yansıtan dört parametre alır. astar() işlev: yüzey, renk, start_pos ve end_pos.
    pygame.draw.aaline (yüzey, renk, start_pos, end_pos) 

PyGame'de İç İçe Şekiller Oluşturma

PyGame'in bir başka ilginç özelliği de başka bir şeklin içine şekiller çizebilme yeteneğidir. Bunu, PyGame'deki temel şekil çizme işlevlerinin bir kombinasyonunu kullanarak yapabilirsiniz.

Başka bir şeklin içine şekil çizmek için önce iç şekli çizebilir, ardından dış şekli onun üzerine çizebilirsiniz. İç şekil, dikdörtgen veya daire gibi herhangi bir temel şekil olabilir.

Örneğin, bir çemberin içine bir dikdörtgen çizmek için, pygame.draw.circle() daire çizmek için işlevi kullanın ve ardından pygame.draw.rect() üzerine dikdörtgen çizmek için kullanılır.

Aşağıdaki kod örneklerini şurada bulabilirsiniz: bu GitHub deposu.

İşte bir dairenin içine nasıl dikdörtgen çizileceğini gösteren örnek bir kod parçacığı:

içe aktarmak pygame

# Pygame'i başlat
pygame.init()

# Bir pencere oluştur
pencere = pygame.display.set_mode((800, 600))

# Bir daire oluştur
circle_rect = pygame.draw.circle (pencere, (255, 255, 255), (400, 300), 100)

# Dikdörtgen için bir yüzey oluşturun
dikdörtgen_yüzey = pygame. Yüzey((50, 50))
dikdörtgen_yüzey.set_colorkey((0, 0, 0))

# Yüzeye dikdörtgen çizin
pygame.draw.rect (dikdörtgen_yüzey, (255, 0, 0), (0, 0, 50, 50))

# Yüzeyi daireye vurun
pencere.blit (dikdörtgen_yüzey, (375, 275))

# Ana döngü
sırasındaDoğru:
# Oyundan çıkmak
için etkinlik içinde pygame.event.get():
eğer event.type == pygame. ÇIKIŞ YAPMAK:
pygame.quit()
çıkış()

# Ekranı güncelle
pygame.display.update()

Bu, bir daire içinde bir dikdörtgenin etkisini yaratır. Birden çok şekli birleştirerek daha karmaşık şekiller ve oyun öğeleri oluşturmak için bu tekniği kullanabilirsiniz.

Çizim Resimleri

PyGame ayrıca resim çizmenize de olanak tanır. kullanabilirsiniz pygame.image.load() bir dosyadan bir görüntü yüklemek için işlev ve pygame.image.blit() işlevi görüntüyü ekrana çizin.

için sözdizimi pygame.image.load() buna benzer:

pygame.image.load (dosya adı) 

Ve işte sözdizimi pygame.image.blit():

pygame.image.blit (resim, rect) 

Görüntüleri yüklemeye ve çizmeye ek olarak, PyGame ayrıca görüntüyle ilgili birkaç başka işlev de sağlar. Bu işlevler, görüntüleri ölçekleme, döndürme, çevirme ve kırpma gibi çeşitli şekillerde değiştirmenize olanak tanır.

Gelişmiş Özellikler Ekleme

PyGame ayrıca nesneleri ve şekilleri çizmek için bazı gelişmiş özellikler sağlar. Örneğin, pygame.mouse.get_pos() fare konumunu almak için işlev ve pygame.mouse.get_pressed() fare düğmesi durumunu almak için işlev. Bu işlevlerle, fareyi tıklatarak şekiller çizmenize olanak tanıyan bir tıkla ve çiz özelliği oluşturabilirsiniz.

içe aktarmak pygame 

# Pygame'i başlat
pygame.init()

# Bir pencere oluştur
pencere = pygame.display.set_mode((800, 600))

# Ana döngü
sırasındaDoğru:
# Fare konumunu al
mouse_position = pygame.mouse.get_pos()

# Fare düğmesi durumunu al
mouse_pressed = pygame.mouse.get_pressed()

# Oyundan çıkmak
için etkinlik içinde pygame.event.get():
eğer event.type == pygame. ÇIKIŞ YAPMAK:
pygame.quit()
çıkış()

# Fareye basıldığında daire çizme
eğer mouse_pressed[0] == 1:
pygame.draw.circle (pencere, (255, 0, 0), fare_konumu, 20)

# Ekranı güncelle
pygame.display.update()

Çıktı aşağıdadır:

PyGame'de Kolayca Oyun Spriteları Oluşturun

PyGame ayrıca oyun karakterlerini ve nesnelerini kolayca oluşturmak için güçlü bir araç seti sağlar. İle pygame.draw modülü ile oyunlarınızda kullanabileceğiniz spriteları kolayca oluşturabilirsiniz. Karakterleri, nesneleri ve diğer oyun öğelerini kolaylıkla oluşturabilirsiniz.