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基础语言学习笔记总结(精华)
Nov 14 Python
Python Grid使用和布局详解
Jun 30 Python
Win10下python 2.7.13 安装配置方法图文教程
Sep 18 Python
Python中常用的内置方法
Jan 28 Python
Python3.5实现的三级菜单功能示例
Mar 25 Python
Python字符串的一些操作方法总结
Jun 10 Python
Pytorch加载部分预训练模型的参数实例
Aug 18 Python
Python使用Opencv实现图像特征检测与匹配的方法
Oct 30 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
Jun 12 Python
Python容器类型公共方法总结
Aug 19 Python
python基于pexpect库自动获取日志信息
Feb 01 Python
Python数据可视化之绘制柱状图和条形图
May 25 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
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
2010/10/12 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
thinkPHP中验证码的简单使用方法
2015/12/26 PHP
php模拟post上传图片实现代码
2016/06/24 PHP
PHP判断数组是否为空的常用方法(五种方法)
2017/02/08 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
Jquery中LigerUi的弹出编辑框(实现方法)
2013/07/09 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
使用JavaScript 实现的人脸检测
2015/03/24 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
浅谈js中的this问题
2017/08/31 Javascript
p5.js入门教程之小球动画示例代码
2018/03/15 Javascript
浅谈Three.js截图并下载的大坑
2019/11/01 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
Python实现的随机森林算法与简单总结
2018/01/30 Python
Django添加sitemap的方法示例
2018/08/06 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
python从zip中删除指定后缀文件(推荐)
2019/12/05 Python
Python如何用wx模块创建文本编辑器
2020/06/07 Python
python音频处理的示例详解
2020/12/23 Python
关于Java String的一道面试题
2013/09/29 面试题
家长写给老师的建议书
2014/03/13 职场文书
疾病防治方案
2014/05/31 职场文书
个人投资合作协议书
2014/10/12 职场文书
开展批评与自我批评发言稿
2014/10/16 职场文书
党的群众路线教育实践活动心得体会(医院)
2014/11/03 职场文书
工作态度不好检讨书
2015/05/06 职场文书
观后感格式
2015/06/19 职场文书
2016高考寄语或鼓励的话语
2015/12/04 职场文书
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python