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脚本判断 Linux 是否运行在虚拟机上
Apr 25 Python
Python获取任意xml节点值的方法
May 05 Python
Python import用法以及与from...import的区别
May 28 Python
python实现xlsx文件分析详解
Jan 02 Python
Python网络编程之TCP与UDP协议套接字用法示例
Feb 02 Python
Python多线程扫描端口代码示例
Feb 09 Python
Python3安装psycopy2以及遇到问题解决方法
Jul 03 Python
解决Tensorflow占用GPU显存问题
Feb 03 Python
Python进程Multiprocessing模块原理解析
Feb 28 Python
Python代码一键转Jar包及Java调用Python新姿势
Mar 10 Python
python调用API接口实现登陆短信验证
May 10 Python
Python操作Excel把数据分给sheet
May 20 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面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
解析PHP汉字转换拼音的类
2013/06/18 PHP
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
PHP 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
CI框架中数据库操作函数$this-&gt;db-&gt;where()相关用法总结
2016/05/17 PHP
thinkPHP订单数字提醒功能的实现方法
2016/12/01 PHP
yii gridview实现时间段筛选功能
2017/08/15 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
php分享朋友圈的实现代码
2019/02/18 PHP
Jsonp post 跨域方案
2015/07/06 Javascript
jQuery图片瀑布流的简单实现代码
2017/03/15 Javascript
微信小程序自动客服功能
2017/11/02 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
如何在JavaScript中优雅的提取循环内数据详解
2019/03/04 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
Python获取linux主机ip的简单实现方法
2016/04/18 Python
python web基础之加载静态文件实例
2018/03/20 Python
Python numpy 点数组去重的实例
2018/04/18 Python
查找python项目依赖并生成requirements.txt的方法
2018/07/10 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
python数据库编程 Mysql实现通讯录
2020/03/27 Python
pycharm 添加解释器的方法步骤
2020/08/31 Python
有原因的手表:Flex Watches
2019/03/23 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
应用电子技术专业个人求职信
2013/09/21 职场文书
大学应届生的自我评价
2014/03/06 职场文书
说明书怎么写
2014/05/06 职场文书
餐饮服务食品安全责任书
2014/07/25 职场文书
天堂的孩子观后感
2015/06/11 职场文书
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android