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中使用next()方法操作文件的教程
May 24 Python
Python中的列表生成式与生成器学习教程
Mar 13 Python
在Python中定义和使用抽象类的方法
Jun 30 Python
python实现堆和索引堆的代码示例
Mar 19 Python
python的常用模块之collections模块详解
Dec 06 Python
使用Python制作简单的小程序IP查看器功能
Apr 16 Python
python如何实现数据的线性拟合
Jul 19 Python
python函数修饰符@的使用方法解析
Sep 02 Python
python进程的状态、创建及使用方法详解
Dec 06 Python
python使用gdal对shp读取,新建和更新的实例
Mar 10 Python
Python 添加文件注释和函数注释操作
Aug 09 Python
pycharm 添加解释器的方法步骤
Aug 31 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
DOTA2游戏同人动画《龙之血》导演接受采访
2021/03/05 欧美动漫
用phpmyadmin更改mysql5.0登录密码
2008/03/25 PHP
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
2013/08/09 PHP
PHP的拦截器实例分析
2014/11/03 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
ThinkPHP进程计数类Process用法实例详解
2015/09/25 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
vue2.x select2 指令封装详解
2017/10/12 Javascript
vue下载excel的实现代码后台用post方法
2019/05/10 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
vue动态禁用控件绑定disable的例子
2019/10/28 Javascript
解决Vue项目中tff报错的问题
2020/10/21 Javascript
[01:03:38]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS CIS
2014/05/22 DOTA
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
2019/06/03 Python
PyQt5通信机制 信号与槽详解
2019/08/07 Python
python中使用input()函数获取用户输入值方式
2020/05/03 Python
详解Python中的路径问题
2020/09/02 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
军训自我鉴定100字
2014/02/13 职场文书
四风问题对照检查材料
2014/09/22 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
离婚协议书范本及离婚须知
2014/10/15 职场文书
投标承诺函范文
2015/01/21 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS