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的web框架编写MVC配置来使其运行的教程
Apr 30 Python
用Python脚本来删除指定容量以上的文件的教程
May 04 Python
python的中异常处理机制
Aug 30 Python
利用python提取wav文件的mfcc方法
Jan 09 Python
python通过SSH登陆linux并操作的实现
Oct 10 Python
Django中提示消息messages的设置方式
Nov 15 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
Dec 26 Python
pycharm下pyqt4安装及环境配置的教程
Apr 24 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
Jul 02 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
Sep 21 Python
python爬虫请求头的使用
Dec 01 Python
python爬虫爬取某网站视频的示例代码
Feb 20 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简单判断字符串是否包含另一个字符串的方法
2016/03/25 PHP
js 剪切板的用法(clipboardData.setData)与js match函数介绍
2013/11/19 Javascript
easyui导出excel无法弹出下载框的快速解决方法
2016/11/10 Javascript
jQuery.parseHTML() 函数详解
2017/01/09 Javascript
原生js实现返回顶部缓冲效果
2017/01/18 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
浅谈nodejs中的类定义和继承的套路
2017/07/26 NodeJs
AngularJS 中ui-view传参的实例详解
2017/08/25 Javascript
基于Vue过渡状态实例讲解
2017/09/14 Javascript
JS基于递归实现网页版计算器的方法分析
2017/12/20 Javascript
vue.js或js实现中文A-Z排序的方法
2018/03/08 Javascript
Vue $emit $refs子父组件间方法的调用实例
2018/09/12 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
微信小程序canvas绘制圆角base64图片的实现
2019/08/18 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
2020/05/10 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
微信小程序以7天为周期连续签到7天功能效果的示例代码
2020/08/20 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS NE
2014/05/22 DOTA
Python selenium如何设置等待时间
2016/09/15 Python
Python之re操作方法(详解)
2017/06/14 Python
python批量替换页眉页脚实例代码
2018/01/22 Python
Python实现批量压缩图片
2018/01/25 Python
python如何发布自已pip项目的方法步骤
2018/10/09 Python
django url到views参数传递的实例
2019/07/19 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
彪马荷兰官网:PUMA荷兰
2019/05/08 全球购物
Europcar意大利:汽车租赁
2019/07/07 全球购物
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
总经理助理岗位职责范本
2014/07/20 职场文书
党校学习心得体会范文
2014/09/09 职场文书
人事局接收函
2015/01/31 职场文书
公司慰问信范文
2015/03/23 职场文书
活动总结书怎么写
2015/05/11 职场文书