Menu
CoddyTech

تحميل صوت

جزء من قسم الصوت وإحساس اللعب في رحلة Pygame على Coddy. الدرس 1 من 23.

تشغّل pygame الأصوات القصيرة باستخدام pygame.mixer.Sound. مرّر إليها مسار ملف صوتي، وستحصل على كائن Sound:

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

تبدأ pygame.init() الخالط، لذا أنشئ كائنات Sound بعدها. أنشئ كل كائن Sound مرة واحدة، قبل الحلقة. يقرأ التحميل الملف من القرص؛ ولو حدث ذلك داخل الحلقة، لقرأه 60 مرة في الثانية.

عندما يحين الوقت، استدعِ play():

jump_sound.play()

تبدأ play() تشغيل الصوت وتعود فورًا. تستمر اللعبة في العمل بينما تسمعه، ويمكن تشغيل كائن Sound نفسه مرة أخرى قبل انتهاء تشغيله.

يحتوي المجلد assets/sounds/ على الأصوات التي يمكنك استخدامها: القفز، والعملة، والتعزيز، والليزر، والانفجار، والاصطدام، وغيرها، وكلها ملفات .ogg. افتح علامة التبويب Assets بجانب اللعبة للاستماع إليها.

challenge icon

التحدي

سهل

يقفز المربع الأخضر عند الضغط على مفتاح المسافة. اجعله يصدر صوتًا:

  1. حمّل assets/sounds/jump.ogg إلى jump_sound قبل الحلقة.
  2. استدعِ jump_sound.play() عند بدء القفزة، بجوار speed_y = -14.

جرّب بنفسك

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

جميع دروس الصوت وإحساس اللعب

تدرّب بنفسك: Playground لـ Pygame