我想向其中 4 个 Sprite 发送垃圾邮件,但只发送 1 个垃圾邮件。
def create_lives(hearts, all_sprites):
corazon = Heart()
for heart_number in range(1,4):
corazon.x = (corazon.rect.width * heart_number)- corazon.rect.width
corazon.rect.x = corazon.x
corazon.rect.y = 40
hearts.add(corazon)
all_sprites.add(corazon)
这是我的主循环:
def run_game():
pygame.mixer.music.play(-1)
score = 0
gf.create_lives(hearts, all_sprites)
gf.add_mobs(ai_settings, all_sprites, mobs, meteor_imgs)
while True:
clock.tick(FPS)
gf.update_screen(ai_settings, screen, all_sprites, background, background_rect, hearts)
gf.check_events(player, all_sprites, bullets)
score = gf.collisions(score, screen, player, mobs, bullets, ai_settings, all_sprites, meteor_imgs)
gf.collisions(score, screen, player, mobs, bullets, ai_settings, all_sprites, meteor_imgs)
gf.draw_text(screen, "SCORE: " + str(score) , 20, 0,0, ai_settings)
gf.draw_text(screen, "LIFE: " + str(player.shield) , 20, 0,20, ai_settings)
all_sprites.update()
pygame.display.flip()
run_game()
我认为循环通过该范围会导致 4 个 Sprite 被垃圾邮件发送。
最佳答案
将 corazon = Heart()
移至 for 循环内。
关于python - 没有发送适量的 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54333180/