Я создаю программу на Python, используя Pygame, и я не могу найти работающий метод для определения, когда я прокручиваю вверх.
Я пытаюсь воссоздать популярное видео под названием "Межзвездная мышь".
https://www.youtube.com/watch?v=aANF2OOVX40
Я пытаюсь заставить его воспроизводить ту же музыку при прокрутке (чтобы сделать то же самое без необходимости ее редактирования).
Я смог заставить это работать с нажатиями клавиш, выполнив что-то вроде этого:
keys = pygame.key.get_pressed()
if keys[pygame.K_KEYNAME]:
pygame.mixer.music.unpause()
Кажется, что просто использование клавиш работает нормально, но мне нужно использовать колесо мыши.
Это основной цикл:
run = True
while run:
#quit game after pressing the close button
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
#exit game by pressing ESC
if keys[pygame.K_ESCAPE]:
run = False
#scroll to activate
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN:
if event.button == 4:
pygame.mixer.music.unpause()
else:
pygame.music.pause()
#update background
win.blit(bg, (width / 4, height / 4))
pygame.display.update()
pygame.quit()
Результаты очень противоречивы. Иногда, если я прокручиваю очень быстро, он начинает играть примерно через секунду, но никогда не останавливается. Иногда это просто не играет вообще.