python绘制坐标点画出半径_24行Python代码让小球“弹”起来
本文所使用的python版本为python3.7,官方网址为//http://www.python.org/。软件为pycharm社区版,可通过http://www.jetbrains.com/pycharm/download/#section=windows免费下载。
首先我们导入pygame,pgzrun库,如果没有可用pip进行安装。
第一行代码其中import是Python的关键字,表示导入一个库,以便在程序中使用库中的功能。可以在同一行中导入多个模块,模块名之间用逗号隔开。跟在#(叫做井号)后边的任何文本都是一条注释。注释是程序员针对代码做些什么而给出的注解。注释不是供Python读取的,会忽略掉注释。
第二行与第三行分别设置了窗口的宽度与高度,得到一个宽800像素,长600像素的窗口。
在这之后就是设置小球了。
第四行与第五行设置了小球在笛卡尔坐标系中的初始位置,在这里,我们取窗口的宽度与高度的一半,使小球置于中央位置,当然,也可以直接把小球的xy坐标用数字表示。
第六行与第七行设置了小球在x,y方向的速度,第八行设置了小球的半径。
小球的位置方向与速度都设置好了,接下来就是设计颜色了。
为了使代码直观可读,第九行为空行,在python代码中,空行和注释不会被计算机读取。
在第十行,def draw():表示定义了一个绘图函数,冒号后面的语句表示具体的绘制工作。第十一行中,screen表示屏幕,fill表示布满,white表示白色,在Python中,单引号' '或双引号" "内的一个字符序列,叫作字符串。利用字符串,我们可以给背景设定不同的颜色。
但需要注意的是,绘制函数draw()内的语句需要缩进,即screen.fill('white') 语句前面要空出一些。Python中可以用空格键或Tab键来实现代码的缩进。同一函数内部的多行语句,需要保持缩进量一致,即最左边需要对齐。
在12,13行我们绘制一个,坐标(x,y),半径r,红色的填充圆。
在15-18行,新增代码def update(): ,定义了一个更新函数,当程序运行后,每帧都会执行一次该函数。其中的语句r = r + 1表示半径r每次增加1,使得小球的半径从1开始,依次增加为2、3、4、5、6……
global r语句表示r为全局变量,如果函数内部需要修改函数外部的变量,如在update()函数中修改函数外定义的变量r,就需要在函数内部加上global r这一语句。
添加的代码叫if语句,也叫选择判断语句。if语句的冒号后为if条件满足才执行的语句,在本示例中,当小球与左右边界相切时,执行x方向的速度变为相反数,即当小球碰到左右边界时,x方向的速度反转,同理,当小球碰到上下边界时,y方向的速度反转。
第24行代码pgzrun.go()表示让我们编写的游戏开始运行,go是出发、启动的意思。
右键点击项目名找到“run”就可以让小球弹跳起来了,是不是还挺Q哒~
本文的python代码来自《Python游戏趣味编程》一书的其中一个案例,感兴趣的可以购买观看。
========
赠人玫瑰,手留余香,不要忘记点赞、收藏、关注 @人民邮电出版社 哦!
一键三连,感恩有你~
python绘制坐标点画出半径_24行Python代码让小球“弹”起来相关推荐
- python根据坐标点画线_Openlayers 根据坐标点画点线圆多边形
根据坐标点画点线圆多边形,代码如下 Geometry type Point LineString Polygon Circle None Bezier 绘制 绘制圆形 绘制线段 绘制多边形 绘制单个点 ...
- python画蜡烛致敬烈士_用python绘制股票图,用python绘制蜡烛线型k线图是用代码还是绘图工具...
Q1:用python绘制蜡烛线型k线图是用代码还是绘图工具 import matplotlib.pyplot as plt from matplotlib.dates import DateForma ...
- python画直方图代码-Python绘制直方图及子图的方法分析(代码示例)
本篇文章给大家带来的内容是关于Python绘制直方图及子图的方法分析(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.直方图的绘制也需要用到matplotlib下的py ...
- python画蜡烛致敬烈士_「」matplotlib 股票-用python绘制蜡烛线型k线图是用代码还是绘图工具-TOP金融网...
用python绘制蜡烛线型k线图是用代码还是绘图工具 import matplotlib.pyplot as plt from matplotlib.dates import DateFormatte ...
- c4d python使用方法_Cinema 4D Python脚本编写必须知道的5行Python代码教程
Cinema 4D Python脚本编写必须知道的5行Python代码教程 在这期Cinema 4D python教程中的第一篇.Alpha Pixel将介绍如何使用python脚本进行设置,并查看一 ...
- 有人说Python是青铜?我用50行Python代码绘制3D机场分布图
绘制一款的3D图形,不仅可以直观的展示数据分析的结果,也更方便数据化运营,同时也让工作成果更容易被大众理解.本文就基于python绘制一款基础的3D地图,用于直观展示全国机场的分布情况,以及该机场出发 ...
- python画50个图-有人说Python是青铜?我用50行Python代码绘制3D机场分布图
绘制一款的3D图形,不仅可以直观的展示数据分析的结果,也更方便数据化运营,同时也让工作成果更容易被大众理解.本文就基于python绘制一款基础的3D地图,用于直观展示全国机场的分布情况,以及该机场出发 ...
- python绘制3d图形-万万没想到,Python 竟能绘制出如此酷炫的三维图
作者 | Jay Alammar 译者 | 高级农民工 通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的: 这些图怎么做出来呢?今天就来分享下如何一步步绘制 ...
- python绘制简单城市剪影图_利用Python的folium包绘制城市道路图的实现示例
写在前面 很长一段时间内,我都在研究在线地图的开发者文档,百度地图和高德地图的开发者中心提供了丰富的在线地图服务,虽然有一定的权限限制,但不得不说,还是给我的科研工作提供了特别方便的工具,在博客前面我 ...
最新文章
- 【数据库】Redis是什么
- 入侵和反击 动态规划
- 给Tomcat打开远程debug端口
- Mac做深度学习开发【从无到有】
- linux root密码激活,Linux - root初始密码设置
- 树 | 突然间,看了这篇文章,树我懂了!
- angularjs ui-router 路由简介
- 使用Python内置浏览器缓存cookies并做更新
- PostgresSQL模式
- [论文翻译]NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE
- Bugku杂项小猪佩奇思路
- JSPServlet相关
- 定时器加状态转移图方式实现DS18B20
- TM1637四位数码管驱动
- [Python|生信]从Fasta文件出发获取序列的基本信息
- 【5G RLC】AM模式的数据传输详解
- Android Studio 中的maven仓库使用
- 深度学习中的几大模型
- Go 调用系统默认浏览器打开链接
- 《我和PIC单片机:基于PIC18》——第1章 初识PIC 1.1 与众不同的PIC