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的Django框架使用的一些实用建议
Apr 03 Python
Python urllib、urllib2、httplib抓取网页代码实例
May 09 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
Dec 07 Python
对python中dict和json的区别详解
Dec 18 Python
python re正则匹配网页中图片url地址的方法
Dec 20 Python
python交互界面的退出方法
Feb 16 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
Jun 04 Python
python3.7 sys模块的具体使用
Jul 22 Python
python爬虫 线程池创建并获取文件代码实例
Sep 28 Python
如何运行带参数的python脚本
Nov 15 Python
python基于三阶贝塞尔曲线的数据平滑算法
Dec 27 Python
浅谈Pycharm最有必要改的几个默认设置项
Feb 14 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
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
php小技巧之过滤ascii控制字符
2014/05/14 PHP
php显示时间常用方法小结
2015/06/05 PHP
理解Javascript_11_constructor实现原理
2010/10/18 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
JQuery选择器绑定事件及修改内容的方法
2015/01/23 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
2016/08/20 Javascript
浅谈JavaScript的自动垃圾收集机制
2016/12/15 Javascript
jQuery弹出窗口打开链接的实现代码
2016/12/24 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
vue addRoutes实现动态权限路由菜单的示例
2018/05/15 Javascript
详解NodeJs开发微信公众号
2018/05/25 NodeJs
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
2018/10/08 Javascript
微信小程序地图实现展示线路
2020/07/29 Javascript
[01:32]2016国际邀请赛中国区预选赛CDEC战队教练采访
2016/06/26 DOTA
PyQt5每天必学之日历控件QCalendarWidget
2018/04/19 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
2018/04/25 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
纯CSS实现预加载动画效果
2017/09/06 HTML / CSS
CSS3 特效范例整理
2011/08/22 HTML / CSS
澳大利亚最超值的自行车之家:Reid Cycles
2019/03/24 全球购物
迪拜领先运动补剂零售品牌中文站:Sporter商城
2019/08/20 全球购物
开学典礼决心书
2014/03/11 职场文书
红色故事演讲稿
2014/05/22 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
教你怎么用python实现字符串转日期
2021/05/24 Python
MongoDB数据库之添删改查
2022/04/26 MongoDB