Python:飞机大战游戏4:背景图像

简介: Python:飞机大战游戏4:背景图像

一、总体内容


  • 1.1、背景交替滚动的思路确定
  • 1.2、显示游戏背景


二、背景交替滚动的思路确定



  • 2.1、实现思路分析(上下两张图片来回交换滚动显示)


image.png


  • (1)、创建两个背景图像精灵
  • 1完全和屏幕重合
  • 2屏幕的正上方
  • (2)、两张图像一起向下方运动


self.rect.y += self.speed
  • (3)、当 任意背景精灵rect.y >= 屏幕的高度 说明已经移动到屏幕下方
  • (4)、将 移动到屏幕下方的这张图像 设置到 屏幕的正上方


rect.y = -rect.height


  • 2.2、设计背景类


image.png

  • 初始化方法
  • 直接指定 背景图片
  • is_alt 判断是否是另一张图片
  • False 表示 第一张图片,需要与屏幕重合
  • True 表示 另一张图像,在屏幕的正上方
  • update() 方法(判断是否移出屏幕,如果是,将图像设置到 屏幕的正上方,从而实现 交替滚动

继承 :如果父类提供的方法,不能满足子类的需求

  • 派生一个子类
  • 在子类中针对特有的需求,重写父类方法,并且进行扩展


三、显示游戏背景



  • 3.1、在 plane_sprites 新建 Background 继承自 GameSpring


class BackGround(GameSprites):
          """游戏背景精灵"""
def update(self):
     # 1.调用父类的方法实现
     super().update()
     # 2.判断是否移除屏幕,如果移出屏幕,将图像设置到屏幕的上方
     if self.rect.y >= SCREEN_RECT.height:
          self.rect.y = -self.rect.height
  • 3.2、在 plane_main.py 中显示背景精灵
  • (1)、在__create_plan_sprites 方法中创建 精灵精灵组
  • (2)、在__update_sprites 方法中,让 精灵组 调用 update()draw() 方法
  • __create_plan_sprites(self)方法


def __create_plan_sprites(self):
     # 创建背景精灵和精灵组
     bg1 = BackGround("./images/background.png")
     bg2 = BackGround("./images/background.png")
     # 创建背景的精灵组
     self.enemy_group = pygame.sprite.Group(bg1,bg2)
  • __update_sprites(self) 方法


def __update_sprites(self):
       # 让精灵组调用两个方法
       # update - 让组中的所有精灵更新位置
       self.enemy_group.update()
       # draw - 在screen上绘制所有的精灵
       self.enemy_group.draw(self.screen)
  • 3.3、利用初始化方法,简化背景精灵创建
  • 初始化方法:
  • 直接指定 背景图片
  • is_alt 判断是否是另一张图像
  • 表示 第一张图像,需要与屏幕重合
  • 表示 另一张图像 ,在屏幕的正上方
  • 修改 BackGround类的初始化方式
class BackGround(GameSprites):
         """游戏背景精灵"""
def __init__(self,is_alt = False):
      # 1.调用父类方法实现精灵的创建(image/rect/speed)
      super().__init__("./images/background.png")
      # 2.判断是否是交替图像,如果是,需要设置初始位置
      if is_alt:
            self.rect.y = - self.rect.height


提示:到此为止,飞机大战的背景图片交替展示已经完成

目录
相关文章
|
1月前
|
机器学习/深度学习 算法 TensorFlow
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
动物识别系统。本项目以Python作为主要编程语言,并基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集4种常见的动物图像数据集(猫、狗、鸡、马)然后进行模型训练,得到一个识别精度较高的模型文件,然后保存为本地格式的H5格式文件。再基于Django开发Web网页端操作界面,实现用户上传一张动物图片,识别其名称。
73 1
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
|
18天前
|
存储 JSON API
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(1)
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(1)
24 7
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(1)
|
1月前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
96 22
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
1月前
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
86 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
使用Python和TensorFlow实现图像识别
【8月更文挑战第31天】本文将引导你了解如何使用Python和TensorFlow库来实现图像识别。我们将从基本的Python编程开始,逐步深入到TensorFlow的高级功能,最后通过一个简单的代码示例来展示如何训练一个模型来识别图像。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息。
148 53
|
13天前
|
JSON API 数据格式
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(2)
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(2)
34 0
Python| 如何使用 DALL·E 和 OpenAI API 生成图像(2)
|
17天前
|
IDE 开发工具 Python
Python扑克游戏编程---摸大点
Python扑克游戏编程---摸大点
36 1
|
1月前
|
Python
python编写下象棋游戏|4-14
python编写下象棋游戏|4-14
|
1月前
|
人工智能 算法 图形学
总有一个是你想要的分享40个Python游戏源代码
这是一系列基于Python开发的游戏项目集合,包括中国象棋、麻将、足球、坦克大战、扑克等多种类型游戏,运用了Pygame等库实现图形界面与AI算法。此外还包含迷宫、数独、推箱子等益智游戏及经典游戏如《仙剑奇侠传二战棋版》和《星露谷物语》的Python版本,适合编程学习与娱乐。
71 11
|
18天前
|
数据采集 前端开发 Python
Python pygame 实现游戏 彩色 五子棋 详细注释 附源码 单机版
Python pygame 实现游戏 彩色 五子棋 详细注释 附源码 单机版
47 0