صدا و موسیقی فضا را ایجاد می کند و آهنگ را تنظیم می کند. آنها یک عنصر ضروری از بازی های ویدیویی شما هستند.
جلوه های صوتی و موسیقی نقش مهمی در افزایش تجربه بازی دارند. آنها زندگی و غوطه وری را در دنیای مجازی به ارمغان می آورند، احساسات را افزایش می دهند و فضایی فریبنده برای بازیکنان ایجاد می کنند.
خوشبختانه، کتابخانه Arcade به لطف ویژگی های صوتی داخلی، افزودن جلوه های صوتی و موسیقی به بازی های پایتون را آسان می کند.
ایجاد یک بازی ساده
قبل از شروع، مطمئن شوید که پیپ را روی دستگاه خود نصب کرده اید. برای نصب کتابخانه آرکید از این دستور استفاده کنید:
pip install arcade
کد استفاده شده در این مقاله در این موجود است
مخزن GitHub
و استفاده از آن تحت مجوز MIT برای شما رایگان است.
پس از آن، با ایجاد یک بازی ساده با استفاده از کتابخانه Python Arcade شروع کنید، جایی که بازیکنان می توانند با استفاده از کلیدهای جهت نما، یک کاراکتر را به چپ و راست حرکت دهند.
import arcade
WIDTH = 800
HEIGHT = 600
PLAYER_WIDTH = 50
PLAYER_HEIGHT = 50
class Player:
def __init__(self):
self.x = WIDTH // 2
def move_left(self):
self.x -= 10
def move_right(self):
self.x += 10
def draw(self):
arcade.draw_rectangle_filled(self.x, HEIGHT // 2, PLAYER_WIDTH, PLAYER_HEIGHT, arcade.color.BLUE)
class MyGame(arcade.Window):
def __init__(self, width, height, title):
super().__init__(width, height, title)
arcade.set_background_color(arcade.color.WHITE)
self.player = Player()
def on_key_press(self, key, modifiers):
if key == arcade.key.LEFT:
self.player.move_left()
elif key == arcade.key.RIGHT:
self.player.move_right()
def on_draw(self):
arcade.start_render()
self.player.draw()
def main():
window = MyGame(WIDTH, HEIGHT, "My Game")
arcade.run()
if __name__ == '__main__':
main()
اضافه کردن جلوه های صوتی در Arcade
اکنون که بازی ساده خود را راه اندازی کرده اید، چند جلوه صوتی اضافه کنید تا جذاب تر شود. کتابخانه Arcade راه مناسبی برای بارگیری و پخش جلوه های صوتی فراهم می کند. ابتدا باید ماژول آرکید را وارد کرده و فایل جلوه صوتی مورد نظر را بارگذاری کنید. شما به راحتی می توانید جلوه های صوتی بدون حق امتیاز را در وب سایت های مختلف پیدا کنید.
یک فایل افکت صوتی به نام laser.wav را با استفاده از تابع load_sound () بارگذاری کنید. مطمئن شوید که فایل افکت صدا در همان دایرکتوری اسکریپت پایتون شما قرار دارد یا مسیر صحیح فایل را ارائه دهید.
import arcade
laser_sound = arcade.load_sound("laser.wav")
در مرحله بعد، می توانید جلوه صوتی را در یک رویداد خاص در بازی خود فعال کنید. به عنوان مثال، هر زمان که بازیکن در بازی حرکت می کند، می توانید افکت صدای لیزری را پخش کنید.
def on_key_press(self, key, modifiers):
if key == arcade.key.LEFT:
self.player.move_left()
arcade.play_sound(laser_sound)
elif key == arcade.key.RIGHT:
self.player.move_right()
arcade.play_sound(laser_sound)
اکنون، هر زمان که پخش کننده به چپ یا راست حرکت کند، افکت صوتی laser.wav پخش می شود و یک نشانه صوتی رضایت بخش به بازی اضافه می کند.
ایجاد موسیقی پس زمینه در Arcade
جدا از جلوههای صوتی، موسیقی پسزمینه میتواند تجربه همهجانبه بازی را تا حد زیادی افزایش دهد. Arcade یک راه ساده برای پخش موسیقی پس زمینه نیز فراهم می کند. بیایید کمی موسیقی پس زمینه به بازی اضافه کنیم.
import arcade
background_music = arcade.load_sound("background_music.mp3")
مشابه بارگذاری جلوه های صوتی، می توانید فایل موسیقی پس زمینه، background_music.mp3 را با استفاده از تابع load_sound () بارگذاری کنید.
برای پخش موسیقی پسزمینه، میتوانید تابع play_sound() را با پارامتر looping=True فراخوانی کنید که نشان میدهد موسیقی باید بهطور نامحدود تکرار شود.
def main():
window = MyGame(WIDTH, HEIGHT, "My Game")
arcade.play_sound(background_music, volume=0.5, looping=True)
arcade.run()
تنظیم سطح صدا در Arcade
در برخی موارد، ممکن است بخواهید حجم جلوه های صوتی یا موسیقی پس زمینه را تنظیم کنید تا تعادل صوتی مورد نظر ایجاد شود. Arcade تابع arcade.set_volume() را برای کنترل سطوح صدا فراهم می کند. این تابع مقداری بین 0.0 و 1.0 را می پذیرد که 0.0 نشان دهنده سکوت و 1.0 نشان دهنده حداکثر حجم است.
برای تنظیم صدای جلوه های صوتی می توانید از کد زیر استفاده کنید:
arcade.set_volume(0.7) # Adjust the sound effects volume
با تنظیم مقدار روی 0.7، میزان صدای جلوه های صوتی را تا 70 درصد از حداکثر حجم آن کاهش می دهید.
برای تنظیم میزان صدای موسیقی پسزمینه، میتوانید منبع صدا را با استفاده از پارامتر صدا مشخص کنید:
# Adjust the background music volume
arcade.set_volume(0.5, sound=background_music)
با تنظیم میزان صدا روی 0.5، میزان صدای موسیقی پسزمینه را تا 50 درصد از حداکثر حجم آن کاهش میدهید.
افزودن ویژگی های متحرک
فراتر از جلوههای صوتی اولیه و موسیقی پسزمینه، Arcade ویژگیهای اضافی مختلفی را برای افزایش بیشتر تجربه صوتی بازی شما ارائه میدهد. دو ویژگی از این قبیل تنظیم سرعت و حرکت تابع arcade.play_sound() است که به شما امکان می دهد جلوه های صوتی پویا و همه جانبه ایجاد کنید.
سرعت پخش را تنظیم کنید
با استفاده از پارامتر سرعت تابع ()arcade.play_sound می توانید سرعت پخش یک جلوه صوتی را کنترل کنید. پارامتر سرعت مقداری بیشتر از 0.0 را می پذیرد که 1.0 نشان دهنده سرعت عادی است. مقدار کمتر از 1.0 جلوه صوتی را کاهش می دهد، در حالی که مقدار بیشتر از 1.0 سرعت آن را افزایش می دهد.
# Play the sound effect at 1.5 times the normal speed
arcade.play_sound(sound_effect, speed=1.5)
با تنظیم پارامتر سرعت، میتوانید افکتهای مختلفی مانند حرکت آهسته یا نشانههای صوتی سریع برای مطابقت با لحظات خاص بازی ایجاد کنید.
تعادل استریو را کنترل کنید
پارامتر pan تابع ()arcade.play_sound به شما امکان می دهد صداها را در یک فضای استریو قرار دهید. توزیع صدا بین بلندگوهای چپ و راست را کنترل می کند و توهم صداهایی را ایجاد می کند که از جهات مختلف می آیند.
پارامتر pan مقداری بین -1.0 و 1.0 را می پذیرد، که در آن -1.0 نشان دهنده صدا به طور کامل در سمت چپ، 0.0 نشان دهنده مرکز و 1.0 نشان دهنده صدای کاملاً در سمت راست است.
# Play the sound effect panned to the left
arcade.play_sound(sound_effect, pan=-0.5)
با دستکاری پارامتر پان، میتوانید صداهایی را که از مکانهای خاصی در دنیای بازی خود نشات میگیرند شبیهسازی کنید و عمق و آگاهی فضایی را به تجربه صوتی اضافه کنید.
بهترین روش ها برای استفاده از جلوه های صوتی
برای اطمینان از یک تجربه صوتی یکپارچه، بهترین روش های زیر را هنگام ادغام جلوه های صوتی و موسیقی در بازی های خود در نظر بگیرید.
- از صداها کم استفاده کنید: از پخشکنندهها با جلوههای صوتی بیش از حد خودداری کنید. صداهایی را انتخاب کنید که هدف داشته باشند و به گیم پلی ارزش اضافه کنند.
- بهینه سازی فایل های صوتی: فشرده سازی و بهینه سازی فایل های صوتی برای کاهش اندازه آنها بدون افت کیفیت صدا. این کمک می کند تا حجم کلی فایل و زمان بارگذاری بازی به حداقل برسد.
- تست بر روی دستگاه های مختلف: تنظیمات و قابلیت های صوتی می تواند در دستگاه ها و پلتفرم های مختلف متفاوت باشد. بازی خود را بر روی چندین دستگاه تست کنید تا مطمئن شوید صدا همانطور که در نظر گرفته شده است کار می کند.
- اولویتهای پخشکننده را در نظر بگیرید: گزینههایی را برای پخشکنندهها فراهم کنید تا سطح صدا را تنظیم کنند یا صدا را به طور کلی قطع کنند. ممکن است همه پخشکنندهها از شنیدن جلوههای صوتی و موسیقی در حین بازی لذت نبرند یا بخواهند گوش دهند.
- حفظ ثبات: اطمینان حاصل کنید که سبک و کیفیت صدا با زیبایی شناسی کلی بازی مطابقت دارد. طراحی صوتی ثابت به ایجاد یک تجربه منسجم و همه جانبه برای بازیکنان کمک می کند.
جذابتر کردن بازیها با جلوههای صوتی
جلوههای صوتی بازخورد صوتی ارزشمندی را ارائه میدهند که اقدامات و تعاملات درون بازی شما را تقویت میکند. این نشانههای شنیداری بازخورد فوری بازیکنان را ارائه میکند و دنیای بازی را ملموستر میکند.
قدرت جلوه های صوتی را در آغوش بگیرید و به آنها اجازه دهید بازی های شما را به سطوح جدیدی از تعامل و غوطه وری ارتقا دهند.