无法访问精灵组在 pygame 中的 x 和 y 位置

Couldn't access a sprite group's x and y position in pygame

我已经为此苦苦挣扎了一段时间,我想为我的游戏重新启动状态,玩家的位置从起始位置开始,但我似乎找不到办法对一组中的敌人精灵做同样的事情

这是我的敌人组的代码:

all_sprites = pygame.sprite.Group()
left_enemy = pygame.sprite.Group()
right_enemy = pygame.sprite.Group()

for i in range(8):
    enemies = Enemy(-100, random.randrange(screen_height- 30))
    all_sprites.add(left_enemy)
    left_enemy.add(enemies)

for i in range(8):
    enemy_r = EnemyRight(screen_width + 45, random.randrange(screen_height- 30))
    all_sprites.add(right_enemy)
    right_enemy.add(enemy_r)

我有什么方法可以访问组中这些精灵的 x 和 y 值吗?

pygame.sprite.Sprites objects (should) have .rect attributes. You can iterate through the items in the pygame.sprite.Group并获取每一项的位置:

for enemy in right_enemy:
    x = enemy.rect.x
    y = enemy.rect.y
    print(x, y)

或者,您可以在 Group 中使用 pygame.sprite.Group.sprites:

点亮 Sprites
if len(right_enemy) > 0:
    first_enemy = right_enemy.sprites()[0]
    x = first_enemy.rect.x
    y = first_enemy.rect.y
    print(x, y)