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获取DLL和EXE文件版本号的方法
Mar 10 Python
Python实现HTTP协议下的文件下载方法总结
Apr 20 Python
详解python上传文件和字符到PHP服务器
Nov 24 Python
python实现拓扑排序的基本教程
Mar 11 Python
Python eval的常见错误封装及利用原理详解
Mar 26 Python
Django使用Jinja2模板引擎的示例代码
Aug 09 Python
python全局变量引用与修改过程解析
Jan 07 Python
序列化Python对象的方法
Aug 01 Python
详解python中的异常捕获
Dec 15 Python
tensorflow与numpy的版本兼容性问题的解决
Jan 08 Python
python Matplotlib基础--如何添加文本和标注
Jan 26 Python
Python趣味挑战之用pygame实现简单的金币旋转效果
May 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
浅谈使用PHP开发微信支付的流程
2015/10/04 PHP
简单实现php上传文件功能
2017/09/21 PHP
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
js 省地市级联选择
2010/02/07 Javascript
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
js 如何实现对数据库的增删改查
2012/11/23 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
2015/10/09 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
2016/01/27 Javascript
javascript中Date对象应用之简易日历实现
2016/07/12 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
2016/10/30 Javascript
JS常用算法实现代码
2016/11/14 Javascript
JS定时器实现数值从0到10来回变化
2016/12/09 Javascript
简单谈谈gulp-changed插件
2017/02/21 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
2017/07/19 Javascript
详解Angular-ui-BootStrap组件的解释以及使用
2018/07/13 Javascript
JS使用对象的defineProperty进行变量监控操作示例
2019/02/02 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
JS 数组基本用法入门示例解析
2020/01/16 Javascript
[02:36]DOTA2混沌骑士 英雄基础教程
2013/11/26 DOTA
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
python之模拟鼠标键盘动作具体实现
2013/12/30 Python
在Python中使用__slots__方法的详细教程
2015/04/28 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
Django 使用logging打印日志的实例
2018/04/28 Python
linux安装python修改默认python版本方法
2019/03/31 Python
Python opencv实现人眼/人脸识别以及实时打码处理
2019/04/29 Python
Wallis官网:英国女装零售商
2020/01/21 全球购物
资生堂英国官网:Shiseido英国
2020/12/30 全球购物
领导干部“四风”查摆问题个人整改措施
2014/10/28 职场文书
《普罗米修斯》教学反思
2016/02/22 职场文书
Elasticsearch 数据类型及管理
2022/04/19 Python