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使用rabbitmq实现网络爬虫示例
Feb 20 Python
浅析Python pandas模块输出每行中间省略号问题
Jul 03 Python
python 美化输出信息的实例
Oct 15 Python
python 调用钉钉机器人的方法
Feb 20 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
Apr 01 Python
python实现连连看辅助之图像识别延伸
Jul 17 Python
对Django url的几种使用方式详解
Aug 06 Python
Python 异常处理Ⅳ过程图解
Oct 18 Python
python类中super() 的使用解析
Dec 19 Python
python查看矩阵的行列号以及维数方式
May 22 Python
解决pip install psycopg2出错问题
Jul 09 Python
python实现KNN近邻算法
Dec 30 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
实现树状结构的两种方法
2006/10/09 PHP
php.ini 中文版
2006/10/28 PHP
PHP用mysql数据库存储session的代码
2010/03/05 PHP
php 阴历-农历-转换类代码
2012/01/16 PHP
php循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
PHP类中的魔术方法(Magic Method)简明总结
2014/07/08 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
php实现搜索类封装示例
2016/03/31 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
Laravel5.1 框架控制器基础用法实例分析
2020/01/04 PHP
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
基于jquery的button默认enter事件(回车事件)。
2011/05/18 Javascript
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
Javascript中Date类型和Math类型详解
2016/02/27 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
2017/02/15 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
Vue下的国际化处理方法
2017/12/18 Javascript
js实现input密码框显示/隐藏功能
2020/09/10 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
如何修改Vue打包后文件的接口地址配置的方法
2020/04/22 Javascript
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
2016/07/04 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
Python3 串口接收与发送16进制数据包的实例
2019/06/12 Python
django 环境变量配置过程详解
2019/08/06 Python
python输出pdf文档的实例
2020/02/13 Python
Python Pygame实现俄罗斯方块
2021/02/19 Python
给民警的表扬信
2014/01/08 职场文书
小学生竞选班干部演讲稿(5篇)
2014/09/12 职场文书
离婚协议书怎么写(范本参考)
2014/09/30 职场文书
2014年接待工作总结
2014/11/26 职场文书
总经理年会致辞
2015/07/29 职场文书
2022年四月新番
2022/03/15 日漫
Docker官方工具docker-registry案例演示
2022/04/13 Servers
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis