【发布时间】:2015-12-01 23:36:49
【问题描述】:
所以我试图弄乱Pygame 模块,我使用了pygame.mixer 和pygame.key。但是,当我运行以下代码块时,它会产生错误。
代码:
import pygame, sys
pygame.mixer.init()
# Assume the sound files exist and are found
kick = pygame.mixer.Sound("kick.wav")
clap = pygame.mixer.Sound("clap.wav")
while True:
keyPressed = pygame.key.get_pressed()
if keyPressed[pygame.K_a]:
pygame.mixer.Sound.play(kick)
if keyPressed[pygame.K_d]:
pygame.mixer.Sound.play(clap)
错误信息:
*** error for object 0x101008fd0: pointer being freed was not allocated
任何帮助都会很棒!
【问题讨论】:
-
我认为您应该使用
pygame.init()来初始化所有模块。 -
可能操作系统不会向没有窗口的程序发送(键)事件。
-
@furas 它仍然没有工作 - 即使实现了窗口。
-
你还有同样的错误吗?
get_pressed()需要窗口,但它可能与错误无关。顺便说一句:没有pygame.event.get(),get_pressed()将无法工作。
标签: python-3.x pygame