模块“ pygame”没有“ K_SPACE”成员

时间:2019-11-12 20:58:25

标签: python pygame key audio-player mixer

我正在尝试使用混音器来暂停一首歌曲,但是我总是遇到上面的错误。我在VS Code中,没有名为“ pygame.py”的额外文件,并且混音器工作正常。

Music_List = os.chdir(r'Ene\\Music')
Music_Loader = random.choice((os.listdir(Music_List)))
mixer.music.load(Music_Loader)
print("Now playing: " + Music_Loader)
mixer.music.play()
while pygame.mixer.music.get_busy():
    pygame.mixer.music.get_pos()
    for event in pygame.event.get():
        if event.type == pygame.K_SPACE:
            pygame.mixer.pause
pygame.mixer.music.fadeout(20)
mixer.music.stop()

编辑:使用if event.key == pygame.key.K_SPACE:可行,但是现在出现错误消息“未初始化视频系统”。

3 个答案:

答案 0 :(得分:1)

event.type仅具有两个值KEYUPKEYDOWN。这就是为什么您看到此错误的原因,因为event.type没有K_SPACE。使用if event.key == pygame.K_SPACE:,您不会收到此错误。

答案 1 :(得分:0)

这是一个工作版本,看起来这应该是您想要的。

    public WeatherStation[] removeElementAtIndex(WeatherStation[] array, int index)
    {
        List<WeatherStation> list = new ArrayList<WeatherStation>(Arrays.asList(array));
        list.remove(index);
        return list.toArray(new WeatherStation[0]);
    }

出现此错误的原因是pygame需要显示设置才能正常工作。 我现在不知道如何不这样做。

实际上,事件类型比“ KEYDOWN”和“ KEYUP”更多。例如:“ MOUSEBUTTONUP”,“ VIDEORESIZE”等等。 https://www.pygame.org/docs/ref/event.html

答案 2 :(得分:0)

您需要使用pygame.init()初始化pygame。这是一个例子:

import pygame
pygame.init()

rest of your code