import pygame,sys
pygame.init()
size = 40,40
screen = pygame.display.set_mode(size)
LEFT = 1
s = pygame.mixer.Sound("Sound.wav")
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.MOUSEBUTTONDOWN:
if event.button == LEFT:
s.play()
Итак, в настоящий момент я пытаюсь создать игру с использованием Pygame. Я устанавливаю так, чтобы звук воспроизводился всякий раз, когда вы нажимаете мышь. Он работает и все, но я очень раздражаюсь, потому что я могу слышать только один звуковой эффект за раз. Если я нажму 7 раз очень быстро, я могу услышать только 4-6 звуков. Если я нажимаю 2 раза очень быстро, я слышу только один звук.В любом случае, я могу заставить звуки Python пересекаться?
Я рассмотрел другие вопросы о перекрытии звуков Pygame (это связано с pygame.mixer.Channel, чего я не понимаю). До сих пор до меня ничего не работало. Есть идеи?
Это не имело никакого значения, когда я применил его. У меня все еще была проблема с меньшим количеством звуков, чем щелчков. Наверное, я продолжу это. Спасибо за ответ. –
@ShawnSong Вы пытались использовать более длинные тестовые звуки, чтобы лучше слышать перекрытие? Кроме того, я обнаружил, что если я начну быстро нажимать сразу, когда приложение изначально загружается, в конце концов отсутствует звук, поэтому посмотрите, не изменится ли что-то, когда вы быстро стреляете после ожидания нескольких секунд. Кроме того, может не помешать проверить «pygame.mixer.get_num_channels()», чтобы увидеть, действительно ли это 8. – CodeSurgeon
Возможно, это версия, которую я использую (Python 3.3)? Я видел, что pygame.mixer.find_channel() работает для других онлайн, но для меня это не имеет значения. pygame.mixer.get_num_channels() возвращает 8; Я уже пробовал. –