Menu
CoddyTech

Muat Suara

Termasuk bagian Suara dan Sensasi Bermain dalam perjalanan Pygame di Coddy. Pelajaran 1 dari 23.

pygame memutar suara pendek melalui pygame.mixer.Sound. Berikan path file suara, lalu kamu mendapatkan object Sound:

jump_sound = pygame.mixer.Sound("assets/sounds/jump.ogg")

pygame.init() memulai mixer, jadi buat Sound setelahnya. Buat setiap Sound sekali, sebelum perulangan. Memuatnya akan membaca file dari disk. Jika dilakukan di dalam perulangan, file akan dibaca 60 kali per detik.

Saat waktunya tiba, panggil play():

jump_sound.play()

play() memulai suara dan langsung mengembalikan kontrol. Game terus berjalan saat kamu mendengarnya, dan Sound yang sama dapat diputar lagi sebelum suaranya selesai.

Folder assets/sounds/ berisi suara yang bisa kamu gunakan: jump, coin, powerup, laser, explosion, hit, dan lainnya, semuanya berupa file .ogg. Buka tab Assets di samping game untuk mendengarnya.

challenge icon

Tantangan

Mudah

Persegi hijau melompat saat kamu menekan Space. Buat persegi itu memutar suara:

  1. Sebelum perulangan, muat assets/sounds/jump.ogg ke dalam jump_sound.
  2. Panggil jump_sound.play() saat lompatan dimulai, di samping speed_y = -14.

Coba sendiri

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()

Semua pelajaran di Suara dan Sensasi Bermain

Latihan sendiri: Playground Pygame