7.显示得分

添加得分初始化得分变量 ...

添加得分
初始化得分变量 score

for i in range(8):
    m = Mob()
    all_sprites.add(m)
    mobs.add(m)
score = 0

# 游戏主循环
running = True

计算得分

# 检查子弹是否击中了敌人
    hits = pygame.sprite.groupcollide(mobs, bullets, True, True)
    for hit in hits:
        score += 10
        m = Mob()
        all_sprites.add(m)
        mobs.add(m)

显示得分文本
主循环外 draw_text() 文本生成函数
font.render() 渲染文本,其中第二个参数True用于打开/关闭抗锯齿
锯齿,像素块绘制会得到锯齿,
消除锯齿,通过将形状边缘与背景色混合实现平滑过渡。
blank

# ......
clock = pygame.time.Clock()

font_name = pygame.font.match_font('simhei')
def draw_text(surf, text, size, x, y):
    font = pygame.font.Font(font_name, size)
    text_surface = font.render(text, True, WHITE)
    text_rect = text_surface.get_rect()
    text_rect.midtop = (x, y)
    surf.blit(text_surface, text_rect)

主循环内,绘制背景后,添加 draw_text() 函数调用绘制得分文本

# 绘制/渲染
    screen.fill(BLACK)
    screen.blit(background, background_rect)
    all_sprites.draw(screen)
    draw_text(screen, str(score), 18, WIDTH / 2, 10)
    # 在绘制所有内容后,刷新显示
    pygame.display.flip()

blank