Şekillerden Oluşan Bir Sahne
Coddy'nin Pygame Journey'sinin Oyun Döngüsü bölümünün bir parçası. Ders 11 / 32.
Bir oyundaki resim genellikle birçok küçük şekilden oluşur. Buradaki ağaç, üstünde yeşil bir daire bulunan kahverengi bir gövdedir. Birkaç tane çizin, bir ormanınız olur.
Aynı şekil grubu birden fazla kez göründüğünde, konumu alan bir fonksiyonun içine koyun. Her çağrı bir ağaç çizer:
def draw_tree(x, y):
pygame.draw.rect(screen, (120, 80, 40), (x - 5, y, 10, 30))
pygame.draw.circle(screen, (60, 170, 90), (x, y), 20)
draw_tree(80, 250)
draw_tree(240, 250)Fonksiyondaki her şekil x ve y koordinatlarına göre yerleştirilir; bu nedenle bir ağacı taşımak için tek bir çağrıyı değiştirmeniz yeterlidir.
Fonksiyonun içindeki sıralama yine de önemlidir. Gövde, dairenin merkezinden başlar ve daire ikinci olarak çizilir; böylece gövdenin üst kısmını örter. İki satırın yerini değiştirirseniz gövde yaprakların arasından görünür.
Görev
Kolaydraw_treeiçinde, gövdeden sonra tacı çizin:(x, y)merkezli, yarıçapı20olan yeşil bir(60, 170, 90)daire.draw_tree(80, 250)satırının altına,(240, 250)ve(400, 250)konumlarındaki ağaçlar için bu işlevi iki kez daha çağırın.
Kendin dene
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Forest")
clock = pygame.time.Clock()
def draw_tree(x, y):
pygame.draw.rect(screen, (120, 80, 40), (x - 5, y, 10, 30))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((30, 30, 46))
pygame.draw.circle(screen, (240, 240, 210), (70, 60), 24)
pygame.draw.rect(screen, (40, 90, 50), (0, 280, 480, 80))
draw_tree(80, 250)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Oyun Döngüsü bölümündeki tüm dersler
1Bir Kareyi Hareket Ettir
Bir Pencere AçArka Planı Doldur2Şekiller ve Renkler
Daireler, Çizgiler, ÇokgenlerKonturlar ve KöşelerŞekillerden Oluşan Bir SahneDeğişen RenklerKendi başına pratik yap: Pygame playground