Menu
CoddyTech

Kendi Fonksiyonun

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

İşlev, istediğin zaman çalıştırabileceğin, adlandırılmış bir satır grubudur. Bir işlev tanımlamak için def kullanılır:

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)

def, işlevin adı, parantezler ve iki nokta; gövde bunların altında girintili yazılır. Bir işlevi tanımlamak hiçbir şey çizmez: Python yalnızca adın altındaki satırları hatırlar.

Bu satırları çalıştırmak için işlevi çağır: adını parantezlerle birlikte yaz.

draw_star()

İşlevleri kurulum bölümünde, oyun döngüsünden önce tanımla ve ihtiyaç duyduğun yerde döngünün içinde çağır. İlk dersten beri işlevleri çağırıyorsun: print() ve pygame.draw.circle() da başkaları tarafından yazılmış işlevlerdir.

pygame.draw.line(screen, colour, start, end, width) iki nokta arasında bir çizgi çizer.

challenge icon

Görev

Orta

Yıldızı bir fonksiyonun içine koy:

  1. Kurulum bölümünde def draw_star(): oluştur ve yıldızın üç çizgisini bu fonksiyonun gövdesine taşı.
  2. Çizim bölümünde draw_star() çağrısını yap. Yıldız, önceki gibi (320, 240) konumunda görünü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.

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

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

    screen.fill((20, 24, 48))
    # Ekranı doldurduktan sonra çizimi burada yapın.
    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)

    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