def create_alien(ai_settings, screen, aliens, alien_number, row_number):
    """创建一个外星人并将其放在当前行"""
    # 外星人间距为外星人宽度
    alien = Alien(ai_settings, screen)
    alien_width = alien.rect.width
    #将外星人宽度乘以2,得到每个外星人占据的空间(其中包括其右边的空白区域)
    #再据此计算当前外星人再当前行的位置
    alien.x = alien_width + 2 * alien_width * alien_number
    alien.rect.x = alien.x
    alien.rect.y = alien.rect.height + 2 * alien.rect.height * row_number
    #将每个新创建的外星人都添加到编组aliens
    aliens.add(alien)
示例#2
0
def create_fleet(ai_settings,screen,ship,aliens):
    """创建外星人群"""
    #创建一个外星人,并计算一行可容纳多少个外星人
    #外星人间距为外星人宽度
    alien = Alien(ai_settings,screen)
    #调用get_number_aliens_x(),并删除了引用alien_width的代码行。因为现在是在create_alien()处理
    number_aliens_x = get_number_aliens_x(ai_settings,alien.rect.width)
    number_rows = get_number_rows(ai_settings,ship.rect.height,alien.rect.height)
    #创建外星人群
    for row_number in range(number_rows):
        for alien_number in range(number_aliens_x):
            #调用create_alien()
            create_alien(ai_settings,screen,aliens,alien_number,row_number)