به گیمرهای خود در حین بازی با ویژگی های موسیقی و جلوه های صوتی Pygame چیزی برای گوش دادن به آنها بدهید.
موسیقی و جلوه های صوتی بخش مهمی از تجربه بازی هستند، بنابراین، به طور طبیعی، Pygame به شما امکان می دهد آنها را به بازی خود اضافه کنید. نحوه اضافه کردن موسیقی پسزمینه و نحوه پخش جلوههای صوتی را در پاسخ به رویدادهای درون بازی کشف کنید. همچنین نحوه انجام عملیات اساسی مانند حلقه زدن و تنظیم صدا را بیاموزید.
ایجاد یک بازی ساده
با ایجاد یک بازی ساده شروع کنید که در آن بازیکن می تواند به چپ و راست حرکت کند. برای ساخت این بازی، ماژول Pygame را با استفاده از pip نصب کنید:
pip install pygame
ماژول Pygame را وارد کرده و مقداردهی اولیه کنید و یک پنجره با اندازه 500×500 با عنوان ایجاد کنید. سپس، متغیرهای x، y، عرض، ارتفاع و vel را برای پخش کننده مقداردهی اولیه کنید. در اینجا vel سرعت پخش کننده است.
import pygame
pygame.init()
window = pygame.display.set_mode((500,500))
pygame.display.set_caption("Simple Game")
x = 50
y = 50
width = 40
height = 60
vel = 5
run = True
پس از آن، یک حلقه while ایجاد کنید که تا زمانی که پنجره بازی را ببندید اجرا می شود. با استفاده از روش pygame.key.get_pressed() ورودی صفحه کلید را بررسی کنید. اگر کاربر به ترتیب کلید فلش چپ یا راست را فشار دهد، مختصات x را کاهش یا افزایش دهید. سپس یک مستطیل با مختصات داده شده بکشید و نمایشگر را به روز کنید.
while run:
pygame.time.delay(100)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= vel
if keys[pygame.K_RIGHT]:
x += vel
window.fill((0,0,0))
pygame.draw.rect(window, (255,0,0), (x, y, width, height))
pygame.display.update()
pygame.quit()
افزودن موسیقی پسزمینه با استفاده از ماژول میکسر
افزودن موسیقی پسزمینه به بازی یک فرآیند ساده با ماژول Mixer Pygame است. با ایجاد یک شی موسیقی و بارگذاری فایل موسیقی مورد نظر شروع کنید. سپس می توانید قبل از پخش صدا را تنظیم کنید. در اینجا یک مثال است:
pygame.mixer.music.load("bgmusic.wav")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play()
شما به راحتی می توانید موسیقی و جلوه های صوتی بدون حق چاپ را از وب سایت های مختلف دانلود کنید تا آنها را آزمایش کنید.
افزودن جلوه های صوتی با استفاده از ماژول ساده صوتی
همچنین می توانید با استفاده از ماژول simpleaudio جلوه های صوتی را به بازی خود اضافه کنید. برای نصب ماژول از این دستور استفاده کنید:
pip install simpleaudio
برای شروع، ماژول simpleaudio را وارد کرده و یک WaveObject از فایل صوتی ایجاد کنید.
import simpleaudio as sa
sound = sa.WaveObject.from_wave_file('sound.wav')
در بررسی های موجود برای فشار دادن پیکان، متد play() را فراخوانی کنید تا زمانی که کاراکتر به چپ یا راست حرکت می کند، صدا پخش شود:
if keys[pygame.K_LEFT]:
x -= vel
play = sound.play()
if keys[pygame.K_RIGHT]:
x += vel
play = sound.play()
ویژگی های اضافی مانند حلقه کردن موسیقی و تنظیم صدا
همچنین میتوانید افکتهای اساسی مانند حلقه کردن موسیقی با تابع play() و تنظیم صدا با استفاده از set_volume() پیادهسازی کنید. تابع set_volume() یک مقدار شناور بین 0 و 1 می گیرد که حجم موسیقی را مشخص می کند. تابع play() یک آرگومان می گیرد که تعداد دفعات تکرار موسیقی را مشخص می کند. با پاس دادن -1 به عنوان آرگومان، می توانید به آن بگویید که موسیقی را حلقه کند.
pygame.mixer.music.load("bgmusic.wav")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play(-1)
sound = sa.WaveObject.from_wave_file('sound.wav')
دو عبارت if اضافه کنید تا آزمایش کنید که آیا کاربر کلید فلش بالا یا پایین را فشار می دهد. در صورت فشار دادن کلید فلش بالا، میزان صدای موسیقی را روی 1.0 و اگر کلید فلش رو به پایین را فشار دهید، 0.0 تنظیم کنید.
if keys[pygame.K_UP]:
pygame.mixer.music.set_volume(1.0)
if keys[pygame.K_DOWN]:
pygame.mixer.music.set_volume(0.0)
روش های جایگزین برای افزودن موسیقی و جلوه های صوتی
همچنین می توانید از روش های دیگری مانند ماژول pyglet برای افزودن موسیقی و جلوه های صوتی استفاده کنید. در زیر قطعه کد آمده است:
import pyglet
music = pyglet.media.load("bgmusic.wav")
music.play()
sound = pyglet.media.load("sound.wav")
sound.play()
استفاده از ماژول های شخص ثالث مانند pyglet مزایای زیادی دارد. آنها راه کارآمدتری برای افزودن موسیقی و جلوه های صوتی ارائه می دهند.
می توانید تمام کدها را از نمونه های موجود در این بیابید
مخزن GitHub
.
افزایش تعامل کاربر با موسیقی
می توانید از موسیقی و جلوه های صوتی برای افزایش تعامل کاربران با بازی خود استفاده کنید. موسیقی و جلوه های صوتی می توانند حس غوطه وری را به بازی اضافه کنند که می تواند بازی را بسیار لذت بخش تر کند. شما حتی می توانید از آنها به روش های خلاقانه به عنوان مکانیک اصلی گیم پلی استفاده کنید.