python实现月食效果实例代码


Posted in Python onJune 18, 2019

我们在学习Python当中的pygame模块时,我们都知道我们可以通过使用 pygame模块实现很多功能性的东西,但是很多人应该不知道怎么通过使用pygame实现月食的效果吧,接下来我就教大家如何利用pygame模块实现月食的效果吧,总代码量都用不到40行代码就可以实现哦,希望对你们有所帮助

第一步:先打开我们的pycharm软件,然后新建一个Python文件

python实现月食效果实例代码

第二步:新建好我们的文件之后,我们在编辑界面输入以下代码:

import pygame
import sys #导入模块

#设置窗体图形界面
screen=pygame.display.set_mode((700,500)) #设置窗体的屏幕宽高,screen变量接收屏幕
pygame.display.set_caption("吴秀柔 16级计科2班") #设置窗体的标题

#月亮
moonImage='image/moon.png' #定位图片
moon=pygame.image.load(moonImage) #加载图片

#地球阴影
earthshadowImage='image/blackMoon.png' #定位图片
earthshadow=pygame.image.load(earthshadowImage) #加载图片

#覆盖轨迹的背景
backgroundImage='image/blackBG.png' #定位图片
background=pygame.image.load(backgroundImage) #加载图片
x=450 #初始化位置,以X轴为移动方向
#绘制图片在窗体上
while True:
  screen.blit(background,(0,0)) #用来覆盖地球走的路径
  screen.blit(moon,(100,100)) #月亮所在的位置
  screen.blit(earthshadow,(x,100)) #地球阴影运行的初始位置
  if x<=0: #地球阴影移动的动作
    x+=1
  else:
    x-=1

  #消息事件循环,判断退出
  for event in pygame.event.get(): # 获得一个事件的列表
    if event.type == pygame.QUIT: #如果事件类型,退出
      sys.exit() #安全退出
  pygame.display.update() #刷新画面

python实现月食效果实例代码

第三步:编写好我们的代码之后,我们点击鼠标右键或者同事按住Ctrl+shift+F10进行代码的运行编译

python实现月食效果实例代码

第四步:这时候我们就可以看到效果了,由于这里我的月食遮罩是以X轴为运动方向移动,进行月食效果的,所以它的月食轨迹是缓慢运行的

python实现月食效果实例代码

python实现月食效果实例代码

python实现月食效果实例代码

第五步:在这次代码中,我们共用到了三张图片,一个是全黑色的遮罩,注意这个遮罩的大小要与我们的窗体屏幕大小一致或者更大,这样才能够完全遮住,而且在这里使用的图片都是透明背景的图片

python实现月食效果实例代码

python实现月食效果实例代码

python实现月食效果实例代码

第六步:很多人都不太清楚自己在制作图片时,为什么总是不是透明图层,注意:在对图片处理时,之后后缀为.png的图片才具有透明效果,如果本来你在处理时时透明背景,结果保存到使用时却不是透明图层,这可能是你保存的格式不对,注意检查一下

python实现月食效果实例代码

第七步:以上就是我实现的月食效果,每一行都进行了注释,希望对你们有所帮助。这次是实现的月食效果总代码量都用不到40行,可以说是非常少了*_*,大家没事可以自己操作试试看,有不足之处大家多多见谅啦

python实现月食效果实例代码

Python 相关文章推荐
python BeautifulSoup使用方法详解
Nov 21 Python
Python3使用requests包抓取并保存网页源码的方法
Mar 15 Python
Python实现决策树C4.5算法的示例
May 30 Python
spark: RDD与DataFrame之间的相互转换方法
Jun 07 Python
无法使用pip命令安装python第三方库的原因及解决方法
Jun 12 Python
Python OpenCV处理图像之图像直方图和反向投影
Jul 10 Python
Python制作exe文件简单流程
Jan 24 Python
python 用for循环实现1~n求和的实例
Feb 01 Python
Python Pandas 获取列匹配特定值的行的索引问题
Jul 01 Python
python3.5的包存放的具体路径
Aug 16 Python
Python使用Pygame绘制时钟
Nov 29 Python
python随机打印成绩排名表
Jun 23 Python
详解Python3中setuptools、Pip安装教程
Jun 18 #Python
Python生成指定数量的优惠码实操内容
Jun 18 #Python
python实现文件的备份流程详解
Jun 18 #Python
python绘制地震散点图
Jun 18 #Python
python f-string式格式化听语音流程讲解
Jun 18 #Python
python实现雪花飘落效果实例讲解
Jun 18 #Python
python地震数据可视化详解
Jun 18 #Python
You might like
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
php去除数组中重复数据
2014/11/18 PHP
THINKPHP支持YAML配置文件的设置方法
2015/03/17 PHP
php实现面包屑导航例子分享
2015/12/19 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
PHP与Perl之间知识点区别整理
2019/03/19 PHP
Prototype使用指南之base.js
2007/01/10 Javascript
JavaScript中setAttribute用法介绍
2013/07/20 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
微信小程序联网请求的轮播图
2017/07/07 Javascript
JS编写兼容IE6,7,8浏览器无缝自动轮播
2018/10/12 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
2019/09/03 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
Python列表list数组array用法实例解析
2014/10/28 Python
使用PDB模式调试Python程序介绍
2015/04/05 Python
对于Python编程中一些重用与缩减的建议
2015/04/14 Python
Python装饰器原理与用法分析
2018/04/30 Python
Python HTMLTestRunner可视化报告实现过程解析
2020/04/10 Python
Python如何进行时间处理
2020/08/06 Python
python脚本第一行如何写
2020/08/30 Python
Gtech官方网站:地毯清洁器、吸尘器及园艺设备
2018/05/23 全球购物
大学生自助营养快餐店创业计划书
2014/01/13 职场文书
高一历史教学反思
2014/01/13 职场文书
党校学习自我鉴定
2014/02/24 职场文书
班组长安全工作职责
2014/07/15 职场文书
行政上诉状范文
2015/05/23 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
委托书范本格式
2019/04/18 职场文书
2019银行竞聘书
2019/06/21 职场文书
导游词之新疆尼雅遗址
2019/10/16 职场文书
nginx结合openssl实现https的方法
2021/07/25 Servers
详解Vue slot插槽
2021/11/20 Vue.js
如何利用Python实现n*n螺旋矩阵
2022/01/18 Python