无法访问精灵组在 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)
我已经为此苦苦挣扎了一段时间,我想为我的游戏重新启动状态,玩家的位置从起始位置开始,但我似乎找不到办法对一组中的敌人精灵做同样的事情
这是我的敌人组的代码:
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
:
if len(right_enemy) > 0:
first_enemy = right_enemy.sprites()[0]
x = first_enemy.rect.x
y = first_enemy.rect.y
print(x, y)