Menu
CoddyTech

Birçok Kez Çağırma

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

Bir döngüde bir işlevi çağır; bir desen çizer. Döngü argümanları hesaplar, işlev çizimi yapar:

for i in range(8):
    draw_star(60 + i * 70, 60 + i * 45)

Her yineleme, bir öncekinden 70 piksel sağda ve 45 piksel aşağıda olur; böylece yıldızlar (60, 60) noktasından (550, 375) noktasına uzanan bir çizgi oluşturur. 70 veya 45 değerini değiştir, her yıldız buna göre hareket eder.

İşlev yazmaya değmesinin nedeni budur. Yıldız çizen satırlar yalnızca bir kez bulunur. Her yıldızın görünüşünü değiştirmek, ışınlarını uzatmak ya da rengini değiştirmek için işlevin gövdesini değiştirirsin; böylece her çağrı yeni yıldızı çizer.

Bir işleve, yaptığı işi anlatan bir ad ver; genellikle bir fiil kullan: draw_star, move_comet, reset_game. Böylece onu çağıran satır bir cümle gibi okunur.

challenge icon

Görev

Kolay

Bir yıldız dizisi çizin: tek çağrıyı for i in range(8): ile değiştirip draw_star(60 + i * 70, 60 + i * 45) çağrısını kullanın. 8 yıldız (60, 60) noktasından (550, 375) noktasına kadar uzanır.

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 gerekli hazırlıkları burada yapın.
def draw_star(x, y):
    pygame.draw.line(screen, (255, 240, 200), (x - 10, y), (x + 10, y), 2)
    pygame.draw.line(screen, (255, 240, 200), (x, y - 10), (x, y + 10), 2)
    pygame.draw.circle(screen, (255, 240, 200), (x, y), 4)

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

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

    screen.fill((20, 24, 48))
    # fill işleminden sonra çizimi burada yapın.
    draw_star(60, 60)

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

pygame.quit()
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

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

Kendi başına pratik yap: Pygame playground