@websec007
2020-06-19T11:33:32.000000Z
字数 1556
阅读 920
2020.Python从入门到实践
(1)第1步:创建一个存储外星人的“空编组”
alien = Group()
(2)第2步:再调用gf中的函数创建外星人;
gf.create_fleet(xxxx, aliens)
===> gf.create_fleet(xxx, alients) 详情见《章节2:2个有关函数》
(3)第3步:绘制外星人到主屏幕;
gf.update_screen(xxxx, aliens)
===> gf.update_screen(xxxx, aliens) 详情见《章节2:2个有关函数》
# 创建外星人舰队
def create_fleet(screen, game_settings, aliens):
alien = Alien(screen)
# 计算一行可用空间;
alien_width = alien.rect.width
available_space_x = game_settings.width - (2*alien.rect.width)
# 计算一行可以存放外星人数量
number_aliens_x = available_space_x / (2*alien.rect.width)
# 创建第一行外星人
for alien_number in range(int(number_aliens_x)):
# 创建第一行外星人,并加入当前行
alien = Alien(screen)
# 外星人逐个排序放置
alien.x = alien_width + 2*alien_width*alien_number
alien.rect.x = alien.x
aliens.add(alien)
def update_screen(... aliens):
....
aliens.draw(screen)
def get_number_aliens_x(screen, game_settings,):
"""计算一行可以存放多少外星人"""
# 创建一个外星人
alien = Alien(screen)
# 计算一行可以空间大小
available_space_x = game_settings.width - 2*alien.rect.width
# 计算一行可以存放多少外星人
number_aliens_x = available_space_x / (2*alien.rect.width)
return number_aliens_x
def create_alien(screen, alien_number, aliens):
# 创建一外星人对象,然后获取逐个间隔摆放alien的位置坐标
alien = Alien(screen)
alien.x = alien.rect.width + alien.rect.width * 2 * alien_number
alien.rect.x = alien.x
# 将创建的外星人对象逐个加入编组
aliens.add(alien)
def create_fleet(screen, game_settings, aliens):
# 计算一行可以容纳多少外星人
number_aliens_x = get_number_aliens_x(screen, game_settings)
# 创建第一行外星人
for alien_number in range(int(number_aliens_x)):
# 逐个间隔摆放外星人
create_alien(screen, alien_number, aliens)