1 回答

TA贡献1831条经验 获得超10个赞
问题是它catcher是Group而不是的一个实例Catcher(Sprite):
catcher = Group()
while True:
check_events(catcher)
这导致属性moving_right和分别moving_left设置为Group对象。check_keydown_eventscheck_keyup_events
您必须更改以下对象的属性Group:
def check_keydown_events(event, catcher):
"""Respond to keypresses."""
if event.key == pygame.K_RIGHT:
for c in catcher:
c.moving_right = True
elif event.key == pygame.K_LEFT:
for c in catcher:
c.moving_left = True
elif event.key == pygame.K_q:
sys.exit()
def check_keyup_events(event, catcher):
"""Respond to key releases."""
if event.key == pygame.K_RIGHT:
for c in catcher:
c.moving_right = False
elif event.key == pygame.K_LEFT:
for c in catcher:
c.moving_left = False
添加回答
举报