首页 > 解决方案 > 不发送适量的精灵

问题描述

我想向其中四个精灵发送垃圾邮件,但只发送一封垃圾邮件。

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 个精灵被垃圾邮件。

标签: pythonpygame

解决方案


corazon = Heart()在 for 循环内移动。


推荐阅读