python大作业外星人入侵,python 项目1 外星人入侵总结 2021-02-25
使用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相关推荐
- Python011: Python大作业之移动的小火车动画(四)代码实现
书接上文:Python010: Python大作业之移动的小火车动画(三)结果显示 0.注意: 该项目使用的库和资源说明如下: pygame 2.0.1 (SDL 2.0.14, Python 3 ...
- Python大作业之就诊卡管理信息系统[原创]
Python大作业之就诊卡管理信息系统[原创] 项目地址: 网页链接:http://patientcard.dreamtownapi.com/ 后端地址:http://django.dreamtown ...
- Python大作业——爬虫+可视化+数据分析+数据库(数据库篇)
相关链接 Python大作业--爬虫+可视化+数据分析+数据库(简介篇) Python大作业--爬虫+可视化+数据分析+数据库(爬虫篇) Python大作业--爬虫+可视化+数据分析+数据库(数据分析 ...
- pygame飞机大战小游戏(python大作业)
一.项目背景 python大作业,在查看了老师给的链接发现教学视频不完整,所以借用了同学的<Python编程 从入门到实践>中的一个项目,学习模仿. 二.游戏具体介绍 这是一款由辉辉亲自打 ...
- _【超详细指北】python大作业!
[超详细指北]python大作业! 这是笔者最近写python大作业时写的一个实现过程笔记,也就是基本上可以说是本人从0开始上手的一个python练习.程序和本文档从 4.29-5.15日 总共历 ...
- kaggle经典题--“泰坦尼克号”--0.8275准确率--东北大学20级python大作业开源(附详细解法与全部代码以及实验报告)
kaggle经典题--"泰坦尼克号"--0.8275准确率--东北大学20级python大作业开源(附详细解法与全部代码以及实验报告) 前言 开发环境 一.导入包: 二.实验数据的 ...
- Python大作业——两种方法设计计算器(使用wx库)。
python大作业 本次设计用Pycharm开发工具,Python语言进行主要功能是基于图形用户面的多功能.该计算器的主要功能是加.减.乘.除等常规运算以及指数,对数,三角函数等科学运算功能.该计算器 ...
- python大作业01
python大作业01 使用组合数据类型(列表,元组,字典,集合)中任意一种存储方式,完成一个简单的学生管理系统,可以多次录入学生信息到系统并完成基本的 增加.删除.修改.查询操作. 学生信息: 学号 ...
- Python大作业-网络爬虫程序
简介 此程序是本人大三时期的Python大作业,初学Python后所编写的一个程序,是一个网络爬虫程序,可爬取指定网站的信息. 本程序爬取的网站是Bangumi-我看过的动画,Bangumi是一个专注 ...
- Python大作业——爬虫+可视化+数据分析+数据库(数据分析篇)
个人博客 Python大作业--爬虫+可视化+数据分析+数据库(简介篇) Python大作业--爬虫+可视化+数据分析+数据库(爬虫篇) Python大作业--爬虫+可视化+数据分析+数据库(可视化篇 ...
最新文章
- docker镜像指定安装源_Docker 安装与镜像
- 动手开发自己的第一个 composer 包
- MongoDb 安全配置
- WEB前端笔试题(4)
- ACM/ICPC 之 DP解有规律的最短路问题(POJ3377)
- linux .net core java_仅在.NET Core 2.0运行时的Linux上缺少运行时存储库错误
- 调用DM FLDR JNI导出数据库文件
- 高级运维工程师证书_高级装配式工程师证书有什么用?
- c语言match,LeetCode第10题: isMatch(C语言)
- 内置函数isinstance和issubclass
- 看到他做的图表,我们整个项目组忍不住集体跪下叫爸爸!
- 判断按键值_Pygame(九)按键事件(2)
- 图解通信原理与案例分析-13:无线对讲机案例--频率调制实现语音点对点无线通信
- STM32CubeMX安装(全图文安装步骤,一步不落下)
- 网站安全漏洞--大全
- IOS:IOS集成开发和环境的介绍
- LPC17XX系列ISP升级流程
- 大数据安全的重要性解读
- HTML5开源游戏引擎lufylegend1.5.0发布
- Python基于face-alignment实现2D/3D人脸关键点检测
热门文章
- FFmpeg:截取视频片段转成GIF动画
- Android开发——百度地图定位
- mysql count(*)使用索引和成本计算
- 江西余干:端午龙舟赛引冲突 官方否认有人被打死
- 医院建网站需要多少钱?
- 一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井
- 和菜头-当你在网络上被黑时
- 计算机专业推山西新华电脑学校,青春启航,乘风破浪|山西新华电脑学校2021届毕业典礼完美落幕...
- 昭阳E47G开机问题
- Navicat 备份数据