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使用Flask框架同时上传多个文件的方法
Mar 21 Python
Python编程pygal绘图实例之XY线
Dec 09 Python
Python批量提取PDF文件中文本的脚本
Mar 14 Python
python numpy 一维数组转变为多维数组的实例
Jul 02 Python
对python3中pathlib库的Path类的使用详解
Oct 14 Python
python 高效去重复 支持GB级别大文件的示例代码
Nov 08 Python
python 读取鼠标点击坐标的实例
Dec 29 Python
解决Python安装时报缺少DLL问题【两种解决方法】
Jul 15 Python
django列表筛选功能的实现代码
Mar 27 Python
jupyter notebook运行命令显示[*](解决办法)
May 18 Python
Python 图片处理库exifread详解
Feb 25 Python
python Django框架快速入门教程(后台管理)
Jul 21 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+Mysql树型结构(无限分类)数据库设计的2种方式实例
2014/07/15 PHP
yii2 上传图片的示例代码
2018/11/02 PHP
用JavaScript脚本实现Web页面信息交互
2006/12/21 Javascript
使用正则替换变量
2007/05/05 Javascript
js或css实现滚动广告的几种方案
2010/01/28 Javascript
Dom与浏览器兼容性说明
2010/10/25 Javascript
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
2011/11/30 Javascript
JavaScript代码复用模式实例分析
2012/12/02 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
javascript创建含数字字母的随机字符串方法总结
2016/08/01 Javascript
jQuery复合事件用法示例
2017/06/10 jQuery
AngularJS遍历获取数组元素的方法示例
2017/11/11 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
tracking.js页面人脸识别插件使用方法
2020/04/16 Javascript
[19:26]TNC vs EG (BO3)
2018/06/07 DOTA
Python实现telnet服务器的方法
2015/07/10 Python
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
Python input函数使用实例解析
2019/11/22 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
使用Python构造hive insert语句说明
2020/06/06 Python
Python函数递归调用实现原理实例解析
2020/08/11 Python
websocket+sockjs+stompjs详解及实例代码
2018/11/30 HTML / CSS
HTML5拖拽的简单实例
2016/05/30 HTML / CSS
Oakley西班牙官方商店:太阳眼镜和男女运动服
2019/04/26 全球购物
军训口号
2014/06/13 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
小学重阳节活动总结
2015/03/24 职场文书
特此通知格式
2015/04/27 职场文书
房地产项目合作意向书
2015/05/08 职场文书
2016婚礼主持词开场白
2015/11/24 职场文书
Python读取文件夹下的所有文件实例代码
2021/04/02 Python
收音机爱好者玩机13年,简评其使用过的19台收音机
2022/04/30 无线电