我是一般的PyGame和python的新用户。话虽如此,我已经创造了一些精灵并将它们组合在一起。例如,PyGame组的精灵
gems = pygame.sprite.Group()
for i in range (0,4):
gem = Gem()
all_sprite_list.add(gem)
gems.add(gem)
现在在我的主,我想通过敲击特定按键来操纵创业板的组中的一个。我目前正在通过为每个gem设置一个id属性并遍历该组来完成此操作,直到我将id与我想要处理的id相匹配。即:
if event.type == pygame.KEYDOWN and event.key == pygame.K_F1:
for gem in gems:
if gem.id == 1:
gem.state = normal
elif event.type == pygame.KEYDOWN and event.key == pygame.K_F2:
for gem in gems:
if gem.id == 2:
gem.state = normal
我知道这是一个肮脏伎俩,我敢肯定有一个更好的办法,而不是通过迭代组。我看了一下参考资料,并试着做类似
gems.sprites().index(0)
无济于事。有什么建议么?
你可以额外保留字典中的精灵并使用'id'作为键。 – furas