Bir Ses Yükleme
Coddy'nin Pygame Journey'sinin Ses ve Oyun Hissi bölümünün bir parçası. Ders 1 / 23.
pygame, kısa sesleri pygame.mixer.Sound aracılığıyla çalar. Ona bir ses dosyasının yolunu ver, bir Sound nesnesi elde et:
jump_sound = pygame.mixer.Sound("assets/sounds/jump.ogg")pygame.init() mikseri başlatır, bu yüzden Sound nesnelerini bundan sonra oluştur. Her Sound nesnesini döngüden önce, bir kez oluştur. Yükleme işlemi dosyayı diskten okur; döngünün içinde olsaydı saniyede 60 kez okurdu.
Zamanı geldiğinde play() çağrısını yap:
jump_sound.play()play() sesi başlatır ve hemen geri döner. Sesi duyarken oyun çalışmaya devam eder ve aynı Sound nesnesi, ses bitmeden önce yeniden çalınabilir.
assets/sounds/ klasöründe kullanabileceğin sesler bulunur: jump, coin, powerup, laser, explosion, hit ve daha fazlası; tümü .ogg dosyalarıdır. Bunları duymak için oyunun yanındaki Assets sekmesini aç.
Görev
KolayYeşil kare, Space tuşuna bastığında zıplar. Bir ses çalmasını sağla:
- Döngüden önce,
assets/sounds/jump.oggdosyasınıjump_soundiçine yükle. - Zıplamanın başladığı yerde,
speed_y = -14satırının yanınajump_sound.play()çağrısını ekle.
Kendin dene
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Jump")
clock = pygame.time.Clock()
player = pygame.Rect(220, 280, 40, 40)
speed_y = 0
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE and player.bottom == 320:
speed_y = -14
speed_y += 1
player.y += speed_y
if player.bottom > 320:
player.bottom = 320
speed_y = 0
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (80, 80, 100), (0, 320, 480, 40))
pygame.draw.rect(screen, (90, 200, 120), player)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Ses ve Oyun Hissi bölümündeki tüm dersler
4Ekran Sarsıntısı ve Darbe Parlaması
Ekran SarsıntısıDarbe ParlamasıDarbe DurdurmasıAbartıdan Kaçının6Yıldız Devriyesini Geliştir
Yıldız Devriyesi SesleriHer Vuruşta KıvılcımlarKendi başına pratik yap: Pygame playground