Menu
CoddyTech

Eklemek için Tıkla

Coddy'nin Pygame Journey'sinin Oyun Penceresinde Python bölümünün bir parçası. Ders 25 / 32.

Oyun çalışırken bir liste büyüyebilir. stars.append(item), listenin sonuna bir öğe ekler.

Bir fare tıklaması, olay döngüsüne MOUSEBUTTONDOWN olayı olarak gelir ve event.pos, tıklamanın gerçekleştiği yeri gösteren bir (x, y) ikilisidir:

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        running = False
    if event.type == pygame.MOUSEBUTTONDOWN:
        stars.append(event.pos)

Her tıklama bir konum ekler. Çizim bölümü listedeki tüm yıldızları zaten çizdiğinden, yeni yıldız sonraki karede görünür ve liste onu tuttuğu için orada kalır.

Kurulum bölümünde liste boş olarak başlar: stars = []. Oyun döngüsünün içinde oluşturulsaydı, her karede boşaltılır ve her yıldız hemen kaybolurdu.

challenge icon

Görev

Kolay

Olay döngüsünde, bir MOUSEBUTTONDOWN olayı geldiğinde event.pos değerini stars listesine ekleyin. Böylece her tıklama beyaz bir yıldız yerleştirir.

Kendin dene

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()

# Oyun döngüsünden önce burada gerekli ayarları yapın.
stars = []

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # Her karede bir kez burada değişiklik yapın.

    screen.fill((20, 24, 48))
    # fill işleminden sonra burada çizim yapın.
    for star in stars:
        pygame.draw.circle(screen, (255, 255, 255), star, 5)

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Oyun Penceresinde Python bölümündeki tüm dersler

Kendi başına pratik yap: Pygame playground