栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python-项目实战-《外形人入侵》Pygame小游戏-阶段二:外星人来了

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python-项目实战-《外形人入侵》Pygame小游戏-阶段二:外星人来了

来源于《Python编程从入门到实践》的13章外星人来了。

此为第一阶段:

Python-项目实战-《外星人入侵》Pygame小游戏-阶段一:武装飞船(含教程)_Kox233的博客-CSDN博客

程序描述:

此程序为《外星人入侵》开发的第二个阶段。

主要功能是生成一群外星人,这群外星人能够向两边和下面移动,玩家可以用子弹攻击外星人。被击中的外星人将会被删除。

开发步骤: 1)创建第一个外星人

所需素材图片:

alien.bmp 

1.1)创建 Alien 类

 编写Alien类并将其保存为文件 alien.py

alien.py

import pygame
from pygame.sprite import Sprite


class Alien(Sprite):
    """表示单个外星人的类"""

    def __init__(self, ai_game):
        """初始化外星人并设置其起始位置"""
        super().__init__()
        self.screen = ai_game.screen

        # 加载外星人图像并设置其 rect 属性
        self.image = pygame.image.load('images/alien.bmp')
        self.rect = self.image.get_rect()

        # 让每个外星人最初都在屏幕左上角附近。
        self.rect.x = self.rect.width
        self.rect.y = self.rect.height

        # 存储外星人的精确水平位置
        self.x = float(self.rect.x)
1.2)创建 Alien 实例 

下面是 alien_invasion.py 中修改后的 import 语句:

alien_invasion.py

 下面是修改后的方法__init__():

alien_invasion.py

创建了一个用于存储外星人群的编组,还调用了接下来将编写的方法_create_fleet()。

下面是新编写的方法_create_fleet():

alien_invasion.py

要让外星人现身,需要在_update_screen()中对外星人编组调用方法draw():

 alien_invasion.py

现在屏幕上就能够显示一个外星人了。

 

2)创建一群外星人 

 要绘制一群外星人,需要确定一行能容纳多少个外星人以及要绘制多少行。我们将首先计算外星人的水平间距并创建一行外星人,在确定可用的垂直空间并创建整群外星人。

 2.1)创建一行外星人

重写_create_fleet()使其创建一行外星人:

alien_invasion.py

 如果现在运行游戏将会看到一行外星人

 2.2)重构_create_fleet()

 alien_invasion.py

2.3)添加行 

alien_invasion.py

现在运行将会看到一群外星人

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/864538.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号