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 相关文章推荐
Python3实现的腾讯微博自动发帖小工具
Nov 11 Python
python实现简单爬虫功能的示例
Oct 24 Python
python记录程序运行时间的三种方法
Jul 14 Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 Python
TensorFlow 模型载入方法汇总(小结)
Jun 19 Python
对pycharm代码整体左移和右移缩进快捷键的介绍
Jul 16 Python
Python绘制KS曲线的实现方法
Aug 13 Python
python双向链表原理与实现方法详解
Dec 03 Python
python 解决pycharm运行py文件只有unittest选项的问题
Sep 01 Python
python从Oracle读取数据生成图表
Oct 14 Python
python openCV自制绘画板
Oct 27 Python
pandas 实现将NaN转换为None
May 14 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 反射机制实现动态代理的代码
2008/10/22 PHP
从零开始学YII2框架(三)扩展插件yii2-gird
2014/08/20 PHP
浅谈PHP中的面向对象OOP中的魔术方法
2017/06/12 PHP
php生成HTML文件的类方法
2019/10/11 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
2011/04/12 Javascript
javascript 判断字符串是否包含某字符串及indexOf使用示例
2013/10/18 Javascript
Ajax提交与传统表单提交的区别说明
2014/02/07 Javascript
jQuery代码实现表格中点击相应行变色功能
2016/05/09 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
2016/06/25 Javascript
使用plupload自定义参数实现多文件上传
2016/07/19 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
2017/02/13 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
vue.js将时间戳转化为日期格式的实现代码
2018/06/05 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
2019/08/27 Javascript
vue 解除鼠标的监听事件的方法
2019/11/13 Javascript
vue+axios 拦截器实现统一token的案例
2020/09/11 Javascript
vue实现禁止浏览器记住密码功能的示例代码
2021/02/03 Vue.js
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
python解析json实例方法
2013/11/19 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
2018/07/06 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
python提取xml里面的链接源码详解
2019/10/15 Python
举例说明类变量和实例变量的区别
2016/06/30 面试题
优良学风班申请材料
2014/02/13 职场文书
医德医风演讲稿
2014/05/20 职场文书
企业读书活动总结
2014/06/30 职场文书
升国旗演讲稿
2014/09/05 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
小学新教师个人总结
2015/02/05 职场文书
公司员工辞职信范文
2015/05/12 职场文书
幼儿园音乐教学反思
2016/02/18 职场文书
html+css合并表格边框的示例代码
2021/03/31 HTML / CSS
聊聊golang中多个defer的执行顺序
2021/05/08 Golang
python 中yaml文件用法大全
2021/07/04 Python