Parametreler
Coddy'nin Pygame Journey'sinin Oyun Penceresinde Python bölümünün bir parçası. Ders 21 / 32.
Her zaman (320, 240) konumuna çizim yapan bir işlev pek kullanışlı değildir. Parametreler, işlevi çağıranın seçim yapmasını sağlar. Parametreleri def sözcüğünün parantezleri içinde adlandırın ve gövdede değişkenler gibi kullanı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)Her çağrı aynı sırayla değerler, yani argümanlar gönderir: draw_star(120, 100), gövdeyi x 120 ve y 100 değerleriyle çalıştırır. draw_star(520, 90) gövdeyi farklı değerlerle yeniden çalıştırır. Tek bir tanım, çağırdığınız kadar yıldız.
Parametreler yalnızca işlev çalışırken işlevin içinde vardır. Dışarıda, x ve y hiçbir şey ifade etmez ya da bu adlarla orada sakladığınız değerleri ifade eder.
Görev
OrtaYıldızın yerini çağıranın belirlemesini sağlayın:
- Tanımı
def draw_star(x, y):olarak değiştirin ve (x, y) çevresine çizin:x - 10ilex + 10arasındaki çizgileri vey - 10iley + 10arasındaki çizgileri, noktayı(x, y)konumuna yerleştirin. - Üç kez çağırın: (120, 100), (320, 180) ve (520, 90) konumlarında.
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 ayarları burada yap.
def draw_star():
pygame.draw.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
pygame.draw.circle(screen, (255, 240, 200), (320, 240), 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.
screen.fill((20, 24, 48))
# Ekranı doldurduktan sonra burada çizim yap.
draw_star()
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