1 回答

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊
問題是它c(diǎn)atcher是Group而不是的一個(gè)實(shí)例Catcher(Sprite):
catcher = Group()
while True:
check_events(catcher)
這導(dǎo)致屬性moving_right和分別moving_left設(shè)置為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
添加回答
舉報(bào)