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字符串加密解密的三种方法分享(base64 win32com)
Jan 19 Python
python操作日期和时间的方法
Mar 11 Python
python字符串替换的2种方法
Nov 30 Python
Python中使用Boolean操作符做真值测试实例
Jan 30 Python
使用Python对SQLite数据库操作
Apr 06 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
May 23 Python
python async with和async for的使用
Jun 20 Python
用python做游戏的细节详解
Jun 25 Python
Mac安装python3的方法步骤
Aug 09 Python
python实现将一维列表转换为多维列表(numpy+reshape)
Nov 29 Python
python让函数不返回结果的方法
Jun 22 Python
Python实现加密的RAR文件解压的方法(密码已知)
Sep 11 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
thinkphp备份数据库的方法分享
2015/01/04 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
2018/10/16 PHP
javascript 命名规则 变量命名规则
2010/02/25 Javascript
js禁止页面复制功能禁用页面右键菜单示例代码
2013/08/29 Javascript
简单实用的全选反选按钮例子
2013/10/18 Javascript
代码触发js事件(click、change)示例应用
2013/12/13 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
2016/11/18 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
JS操作input标签属性checkbox全选的实现代码
2017/03/02 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
2018/10/12 Javascript
微信小程序 高德地图路线规划实现过程详解
2019/08/05 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
微信小程序中的列表切换功能实例代码详解
2020/06/09 Javascript
[03:17]DOTA2英雄基础教程 剧毒术士
2013/12/12 DOTA
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
python 文件查找及内容匹配方法
2018/10/25 Python
Linux下通过python获取本机ip方法示例
2019/09/06 Python
Win10下python 2.7与python 3.7双环境安装教程图解
2019/10/12 Python
CSS3 画基本图形,圆形、椭圆形、三角形等
2016/09/20 HTML / CSS
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
决心书范文
2014/03/11 职场文书
校园元旦活动总结
2014/07/09 职场文书
小学生感恩老师演讲稿
2014/08/28 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
质检员岗位职责
2015/02/03 职场文书
审美与表现自我评价
2015/03/09 职场文书
公路施工安全责任书
2015/05/08 职场文书
安全生产标语口号
2015/12/26 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书
导游词之镇江焦山
2019/11/21 职场文书
详细聊聊vue中组件的props属性
2021/11/02 Vue.js