Музиката и звуковите ефекти са жизненоважна част от игровото изживяване, така че естествено Pygame ви позволява да ги добавите към играта си. Открийте как да добавяте фонова музика и как да възпроизвеждате звукови ефекти в отговор на събития в играта. Също така разберете как да извършвате основни операции като зацикляне и регулиране на силата на звука.
Създаване на проста игра
Започнете, като създадете проста игра, в която играчът може да се движи наляво и надясно. За да създадете тази игра, инсталирайте модула Pygame с помощта на pip:
pip инсталирайте pygame
Импортирайте и инициализирайте модула Pygame и създайте прозорец с размер 500x500 с надпис. След това инициализирайте променливите x, y, width, height и vel за плейъра. Тук vel е скоростта на играча.
импортиране pygame
pygame.init()
прозорец = pygame.display.set_mode((500,500))
pygame.display.set_caption("Проста игра")
x = 50
y = 50
ширина = 40
височина = 60
vel = 5
бягай = Вярно
След това създайте цикъл, който работи докато не затворите прозореца на играта. Проверете за въвеждане от клавиатурата, като използвате метода pygame.key.get_pressed(). Намалете или увеличете координатата x, ако потребителят натисне съответно клавиша със стрелка наляво или надясно. След това начертайте правоъгълник с дадените координати и актуализирайте дисплея.
докато тичам:
pygame.time.delay(100)за събитие в pygame.event.get():
ако event.type == pygame. ИЗХОД:
бягай = Невярноключове = pygame.key.get_pressed()
ако ключове [pygame. K_LEFT]:
х -= велако ключове [pygame. K_RIGHT]:
x += велwindow.fill((0,0,0))
pygame.draw.rect (прозорец, (255,0,0), (x, y, ширина, височина))
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
Можете също да добавите звукови ефекти към вашата игра, като използвате модула simpleaudio. За да инсталирате модула, използвайте тази команда:
pip инсталирайте simpleaudio
За да започнете, импортирайте модула simpleaudio и създайте WaveObject от звуковия файл.
импортиране простоаудио като са
звук = са. WaveObject.from_wave_file('sound.wav')
В рамките на съществуващите проверки за натискания на стрелки, извикайте метода play(), за да възпроизведете звук, когато героят се движи наляво или надясно:
ако ключове [pygame. K_LEFT]:
х -= вел
игра = sound.play()
ако ключове [pygame. K_RIGHT]:
x += вел
игра = 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)
звук = са. WaveObject.from_wave_file('sound.wav')
Добавете два оператора if, за да проверите дали потребителят натиска клавиша със стрелка нагоре или надолу. Задайте силата на звука на музиката на 1,0, ако натиснат клавиша със стрелка нагоре, и 0,0, ако натиснат клавиша със стрелка надолу.
ако ключове [pygame. K_UP]:
pygame.mixer.music.set_volume(1.0)
ако ключове [pygame. K_DOWN]:
pygame.mixer.music.set_volume(0.0)
Алтернативни методи за добавяне на музика и звукови ефекти
Можете също да използвате други методи за добавяне на музика и звукови ефекти, като модула pyglet. По-долу е кодовият фрагмент:
импортиране пиглет
музика = pyglet.media.load("bgmusic.wav")
music.play()
звук = pyglet.media.load("звук.wav")
sound.play()
Има много предимства от използването на модули на трети страни като pyglet. Те осигуряват по-ефективен начин за добавяне на музика и звукови ефекти.
Можете да намерите целия код от примерите в това GitHub хранилище.
Увеличете ангажираността на потребителите с музика
Можете да използвате музика и звукови ефекти, за да увеличите ангажираността на потребителите с вашата игра. Музиката и звуковите ефекти могат да добавят усещане за потапяне, което може да направи играта много по-приятна. Можете дори да ги използвате по творчески начини като основна механика на играта.