Top.Mail.Ru
Ответы
Аватар пользователя
8мес
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Как сделать так, чтобы звук в PyGame только тогда, когда нажимается клавиша

Часть дела сделана, но есть проблема. Звук наслаивается друг на друга.

1234
 if keys[pygame.K_LEFT] or keys[pygame.K_RIGHT] or keys[pygame.K_UP] or keys[pygame.K_DOWN]: 
        mashinka.play(-1) 
    else: 
        mashinka.stop() 

Вот часть кода отвечающая за звук

По дате
По рейтингу
Аватар пользователя
Профи
8мес

Поставь лайк если помог!

import pygame
import sys

# Инициализация Pygame
pygame.init()

# Создание окна
screen = pygame.display.set_mode((800, 600))

# Загрузка звука
mashinka = pygame.mixer.Sound('mashinka.wav')

# Флаг для отслеживания состояния звука
sound_playing = False

# Основной цикл игры
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

# Получение состояния клавиш
keys = pygame.key.get_pressed()

# Проверка нажатия клавиш
if keys[pygame.K_LEFT] or keys[pygame.K_RIGHT] or keys[pygame.K_UP] or keys[pygame.K_DOWN]:
if not sound_playing:
mashinka.play(-1) # Воспроизведение звука в цикле
sound_playing = True
else:
if sound_playing:
mashinka.stop() # Остановка звука
sound_playing = False

# Обновление экрана
pygame.display.flip()

# Завершение Pygame
pygame.quit()
sys.exit()