【问题标题】:Pygame setting volume when target is a list目标是列表时的Pygame设置音量
【发布时间】:2020-07-26 10:38:44
【问题描述】:

我正在制作游戏,我在列表中列出了这些爆炸(expl),因此每次发出的声音都不相同。我正在使用 random.choice 来“控制”输出

expl_sound = []
for snd in ['expl.wav', 'expl1.wav', "expl2.wav"]:
    expl_sound.append(pygame.mixer.Sound(path.join(snd_folder, snd)))

但是当我去设置那个声音列表的音量时,它会吐出这个错误消息

 Traceback (most recent call last):

  File "C:\Users\wep43\Desktop\Python Games\Pygames Tutorial\Pygame Shmup.py", line 311, in <module>
    expl_sound.set_volume(0.1)

AttributeError: 'list' object has no attribute 'set_volume'

我这辈子都不能让它不吐出这条消息。

我希望我的问题是有道理的,否则请询问更多信息

【问题讨论】:

    标签: python python-3.x pygame


    【解决方案1】:

    set_volume 是类pygame.mixer.Sound 的实例方法,但expl_soundpygame.mixer.Sound 对象的列表。因此,您必须为列表中的每个(声音)元素分别设置音量:

    for snd in expl_sound:
        snd.set_volume(0.1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      相关资源
      最近更新 更多