使用pygame,首先需要导入:import pygame

初始化游戏:pygame.init()

窗口相关操作 pygame.display :访问显示设备

#创建窗口

pygame.display.set_mode((窗口宽,窗口高))

#设置窗口标题

pygame.display.set_caption("窗口标题")

#设置窗口图标

pygame.display.set_icon(image)

#指定坐标,将图片绘制到窗口

self.screen.blit(self.image,self.rect)

blit() : 绘图方法

#不断更新屏幕,命令pygame让最近绘制的屏幕可见

pygame.display.flip()

图像相关操作

pygame.image : 图像相关操作

pygame.rect : 管理矩形区域

#加载资源图片,返回图片对象(返回的就是surface)

image = pygame.image.load("图片路径")

图片路径举例:images/ship.bmp

#获得图片矩形对象

get_rect():获取相应surface的属性rect

要将游戏元素居中,可设置相应rect对象的属性center,centerx或centery

要将游戏元素与屏幕边缘对齐,可使用属性top,bottom,left或right

要调整游戏元素的水平或垂直位置,可使用属性x和y,它们分别是相应矩形左上角的x和y坐标

rect = image.get_rect(centerx=x,centery=y)

#默认情况下左上角坐标是(0,0)

#绘制图形:pygame.draw()

blit()

#在原位置基础上,移动指定的偏移量(x,y增加)

rect.move_ip(num1,num2)

#判断两个矩形是否相交,相交返回True,否则返回False

pygame.Rect.colliderect(rect1,rect2)

同理,判断两个圆形是否相交,把rect改为circle

判断两个组是否相交,改为groupcollide()

检验任何图像是否发生碰撞,改为collideany()

事件相关操作

# QUIT 关闭窗口

# KEYDOWN 键盘按键

# KEYUP 松开键盘

#获得所有事件的列表

for event in pygame.event.get()

#鼠标点击关闭窗口事件

if event.type == pygame.QUIT

sys.exit()

#键盘按下事件

if event.type == pygame.KEYDOWN

#判断用户按下的键是否是a键

if event.key == pygame.K_a

#无论单击屏幕的什么地方,Pygame都将检测到一个MOUSEBUTTONDOWN事件

#pygame.mouse.get_pos(),返回一个元组,其中包含单击时的x和y坐标

pygame中的sprite(精灵)模块:pygame.sprite

作用:一种可以在屏幕上移动的图形对象,并且可以与其他图形对象交互。

使用它,只需继承它,然后按需写出自己的类。

sprite模块包含类Sprite

#创建一个精灵组

pygame.sprite.Group()

其他方法

#让pygame能将文本渲染到屏幕上

pygame.font()

#绘制图形

fill()

pygame其他相关

在Pygame中,surface是屏幕的一部分,用于显示游戏元素。在这个游戏中,每个元素(如游戏窗口、外星人和飞船)都是一个surface。

2.《外星人入侵》项目设计

(1).在完成某一个需求前,首先确定 职责 —— 要做的事情(方法)

(2).根据 职责 确定不同的 对象,在 对象 内部封装不同的 方法(多个)

(3).最后完成的代码,就是顺序地让 不同的对象 调用 不同的方法

《外星人入侵》项目,是一个 飞船通过发射子弹消灭外星人来获取得分、升级 的游戏。需要的对象有:飞船、子弹、外星人等等。

游戏流程:

初始化游戏:pygame.init()

新建模块settings,包含Settings类,用于存储与游戏相关的所有设置

新建模块game_function,包含很多方法,用于存储与游戏相关的所有操作

新建游戏窗口对象

创建一艘飞船

创建一个子弹编组

创建一个外星人编组

创建一个游戏开始的按钮

创建一个用于存储游戏统计信息的实例

创建记分牌

创建外星人群

游戏的主循环

检测事件

针对不同事件,让 不同的对象 调用 不同的方法

python大作业外星人入侵,python 项目1 外星人入侵总结 2021-02-25相关推荐

  1. Python011: Python大作业之移动的小火车动画(四)代码实现

    书接上文:Python010: Python大作业之移动的小火车动画(三)结果显示 0.注意: ​ 该项目使用的库和资源说明如下: pygame 2.0.1 (SDL 2.0.14, Python 3 ...

  2. Python大作业之就诊卡管理信息系统[原创]

    Python大作业之就诊卡管理信息系统[原创] 项目地址: 网页链接:http://patientcard.dreamtownapi.com/ 后端地址:http://django.dreamtown ...

  3. Python大作业——爬虫+可视化+数据分析+数据库(数据库篇)

    相关链接 Python大作业--爬虫+可视化+数据分析+数据库(简介篇) Python大作业--爬虫+可视化+数据分析+数据库(爬虫篇) Python大作业--爬虫+可视化+数据分析+数据库(数据分析 ...

  4. pygame飞机大战小游戏(python大作业)

    一.项目背景 python大作业,在查看了老师给的链接发现教学视频不完整,所以借用了同学的<Python编程 从入门到实践>中的一个项目,学习模仿. 二.游戏具体介绍 这是一款由辉辉亲自打 ...

  5. _【超详细指北】python大作业!

    [超详细指北]python大作业! ​ 这是笔者最近写python大作业时写的一个实现过程笔记,也就是基本上可以说是本人从0开始上手的一个python练习.程序和本文档从 4.29-5.15日 总共历 ...

  6. kaggle经典题--“泰坦尼克号”--0.8275准确率--东北大学20级python大作业开源(附详细解法与全部代码以及实验报告)

    kaggle经典题--"泰坦尼克号"--0.8275准确率--东北大学20级python大作业开源(附详细解法与全部代码以及实验报告) 前言 开发环境 一.导入包: 二.实验数据的 ...

  7. Python大作业——两种方法设计计算器(使用wx库)。

    python大作业 本次设计用Pycharm开发工具,Python语言进行主要功能是基于图形用户面的多功能.该计算器的主要功能是加.减.乘.除等常规运算以及指数,对数,三角函数等科学运算功能.该计算器 ...

  8. python大作业01

    python大作业01 使用组合数据类型(列表,元组,字典,集合)中任意一种存储方式,完成一个简单的学生管理系统,可以多次录入学生信息到系统并完成基本的 增加.删除.修改.查询操作. 学生信息: 学号 ...

  9. Python大作业-网络爬虫程序

    简介 此程序是本人大三时期的Python大作业,初学Python后所编写的一个程序,是一个网络爬虫程序,可爬取指定网站的信息. 本程序爬取的网站是Bangumi-我看过的动画,Bangumi是一个专注 ...

  10. Python大作业——爬虫+可视化+数据分析+数据库(数据分析篇)

    个人博客 Python大作业--爬虫+可视化+数据分析+数据库(简介篇) Python大作业--爬虫+可视化+数据分析+数据库(爬虫篇) Python大作业--爬虫+可视化+数据分析+数据库(可视化篇 ...

最新文章

  1. docker镜像指定安装源_Docker 安装与镜像
  2. 动手开发自己的第一个 composer 包
  3. MongoDb 安全配置
  4. WEB前端笔试题(4)
  5. ACM/ICPC 之 DP解有规律的最短路问题(POJ3377)
  6. linux .net core java_仅在.NET Core 2.0运行时的Linux上缺少运行时存储库错误
  7. 调用DM FLDR JNI导出数据库文件
  8. 高级运维工程师证书_高级装配式工程师证书有什么用?
  9. c语言match,LeetCode第10题: isMatch(C语言)
  10. 内置函数isinstance和issubclass
  11. 看到他做的图表,我们整个项目组忍不住集体跪下叫爸爸!
  12. 判断按键值_Pygame(九)按键事件(2)
  13. 图解通信原理与案例分析-13:无线对讲机案例--频率调制实现语音点对点无线通信
  14. STM32CubeMX安装(全图文安装步骤,一步不落下)
  15. 网站安全漏洞--大全
  16. IOS:IOS集成开发和环境的介绍
  17. LPC17XX系列ISP升级流程
  18. 大数据安全的重要性解读
  19. HTML5开源游戏引擎lufylegend1.5.0发布
  20. Python基于face-alignment实现2D/3D人脸关键点检测

热门文章

  1. FFmpeg:截取视频片段转成GIF动画
  2. Android开发——百度地图定位
  3. mysql count(*)使用索引和成本计算
  4. 江西余干:端午龙舟赛引冲突 官方否认有人被打死
  5. 医院建网站需要多少钱?
  6. 一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井
  7. 和菜头-当你在网络上被黑时
  8. 计算机专业推山西新华电脑学校,青春启航,乘风破浪|山西新华电脑学校2021届毕业典礼完美落幕...
  9. 昭阳E47G开机问题
  10. Navicat 备份数据