Pygame 混音器在我不想要的时候播放声音
Pygame mixer playing sounds when I don't want it to
我正在尝试制作这个使用键盘或带 joytokey 的 gh 吉他的程序。我正在尝试在您按 1、2、3、4 或 5 时设置“fret”变量。并在您按 k 或 l 时播放正确的声音。但是当我按下 1、2、3、4 或 5 时,它会播放声音。
这是代码的重要部分:
def playFret(fret):
if fret == 1:
pygame.mixer.Sound.play(eguitargreen)
if fret == 2:
pygame.mixer.Sound.play(eguitarred)
if fret == 3:
pygame.mixer.Sound.play(eguitaryellow)
if fret == 4:
pygame.mixer.Sound.play(eguitarblue)
if fret == 5:
pygame.mixer.Sound.play(eguitarorange)
while jamtime:
for event in pygame.event.get():
if event.type == pygame.QUIT:
jamtime = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_x:
jamtime = False
if event.key == pygame.K_1:
fret = 1
if event.key == pygame.K_2:
fret = 2
if event.key == pygame.K_3:
fret = 3
if event.key == pygame.K_4:
fret = 4
if event.key == pygame.K_5:
fret = 5
if event.key == pygame.K_r or pygame.K_l:
playFret(fret)
尝试将您的 k 和 l 键检查更改为:
if event.key == pygame.K_r or event.key == pygame.K_l:
playFret(fret)
您的 if 语句的工作方式与您期望的不同。例如,您认为以下代码将打印什么:
num = 7
if num == 4 or 5:
print("yup")
else:
print("nope")
输出:
yup
我正在尝试制作这个使用键盘或带 joytokey 的 gh 吉他的程序。我正在尝试在您按 1、2、3、4 或 5 时设置“fret”变量。并在您按 k 或 l 时播放正确的声音。但是当我按下 1、2、3、4 或 5 时,它会播放声音。 这是代码的重要部分:
def playFret(fret):
if fret == 1:
pygame.mixer.Sound.play(eguitargreen)
if fret == 2:
pygame.mixer.Sound.play(eguitarred)
if fret == 3:
pygame.mixer.Sound.play(eguitaryellow)
if fret == 4:
pygame.mixer.Sound.play(eguitarblue)
if fret == 5:
pygame.mixer.Sound.play(eguitarorange)
while jamtime:
for event in pygame.event.get():
if event.type == pygame.QUIT:
jamtime = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_x:
jamtime = False
if event.key == pygame.K_1:
fret = 1
if event.key == pygame.K_2:
fret = 2
if event.key == pygame.K_3:
fret = 3
if event.key == pygame.K_4:
fret = 4
if event.key == pygame.K_5:
fret = 5
if event.key == pygame.K_r or pygame.K_l:
playFret(fret)
尝试将您的 k 和 l 键检查更改为:
if event.key == pygame.K_r or event.key == pygame.K_l:
playFret(fret)
您的 if 语句的工作方式与您期望的不同。例如,您认为以下代码将打印什么:
num = 7
if num == 4 or 5:
print("yup")
else:
print("nope")
输出:
yup