تحميل صوت
جزء من قسم الصوت وإحساس اللعب في رحلة 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 بجانب اللعبة للاستماع إليها.
التحدي
سهليقفز المربع الأخضر عند الضغط على مفتاح المسافة. اجعله يصدر صوتًا:
- حمّل
assets/sounds/jump.oggإلىjump_soundقبل الحلقة. - استدعِ
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