本文所使用的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代码让小球“弹”起来相关推荐

  1. python根据坐标点画线_Openlayers 根据坐标点画点线圆多边形

    根据坐标点画点线圆多边形,代码如下 Geometry type Point LineString Polygon Circle None Bezier 绘制 绘制圆形 绘制线段 绘制多边形 绘制单个点 ...

  2. python画蜡烛致敬烈士_用python绘制股票图,用python绘制蜡烛线型k线图是用代码还是绘图工具...

    Q1:用python绘制蜡烛线型k线图是用代码还是绘图工具 import matplotlib.pyplot as plt from matplotlib.dates import DateForma ...

  3. python画直方图代码-Python绘制直方图及子图的方法分析(代码示例)

    本篇文章给大家带来的内容是关于Python绘制直方图及子图的方法分析(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.直方图的绘制也需要用到matplotlib下的py ...

  4. python画蜡烛致敬烈士_「」matplotlib 股票-用python绘制蜡烛线型k线图是用代码还是绘图工具-TOP金融网...

    用python绘制蜡烛线型k线图是用代码还是绘图工具 import matplotlib.pyplot as plt from matplotlib.dates import DateFormatte ...

  5. c4d python使用方法_Cinema 4D Python脚本编写必须知道的5行Python代码教程

    Cinema 4D Python脚本编写必须知道的5行Python代码教程 在这期Cinema 4D python教程中的第一篇.Alpha Pixel将介绍如何使用python脚本进行设置,并查看一 ...

  6. 有人说Python是青铜?我用50行Python代码绘制3D机场分布图

    绘制一款的3D图形,不仅可以直观的展示数据分析的结果,也更方便数据化运营,同时也让工作成果更容易被大众理解.本文就基于python绘制一款基础的3D地图,用于直观展示全国机场的分布情况,以及该机场出发 ...

  7. python画50个图-有人说Python是青铜?我用50行Python代码绘制3D机场分布图

    绘制一款的3D图形,不仅可以直观的展示数据分析的结果,也更方便数据化运营,同时也让工作成果更容易被大众理解.本文就基于python绘制一款基础的3D地图,用于直观展示全国机场的分布情况,以及该机场出发 ...

  8. python绘制3d图形-万万没想到,Python 竟能绘制出如此酷炫的三维图

    作者 | Jay Alammar 译者 | 高级农民工 通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的: 这些图怎么做出来呢?今天就来分享下如何一步步绘制 ...

  9. python绘制简单城市剪影图_利用Python的folium包绘制城市道路图的实现示例

    写在前面 很长一段时间内,我都在研究在线地图的开发者文档,百度地图和高德地图的开发者中心提供了丰富的在线地图服务,虽然有一定的权限限制,但不得不说,还是给我的科研工作提供了特别方便的工具,在博客前面我 ...

最新文章

  1. 【数据库】Redis是什么
  2. 入侵和反击 动态规划
  3. 给Tomcat打开远程debug端口
  4. Mac做深度学习开发【从无到有】
  5. linux root密码激活,Linux - root初始密码设置
  6. 树 | 突然间,看了这篇文章,树我懂了!
  7. angularjs ui-router 路由简介
  8. 使用Python内置浏览器缓存cookies并做更新
  9. PostgresSQL模式
  10. [论文翻译]NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE
  11. Bugku杂项小猪佩奇思路
  12. JSPServlet相关
  13. 定时器加状态转移图方式实现DS18B20
  14. TM1637四位数码管驱动
  15. [Python|生信]从Fasta文件出发获取序列的基本信息
  16. 【5G RLC】AM模式的数据传输详解
  17. Android Studio 中的maven仓库使用
  18. 深度学习中的几大模型
  19. Go 调用系统默认浏览器打开链接
  20. 《我和PIC单片机:基于PIC18》——第1章 初识PIC 1.1 与众不同的PIC

热门文章

  1. laravel-admin配置安装完新手使用
  2. Mysql8.0.12安装教程方法 Mysql8.0.12安装教程
  3. 代码评审的不可能三角
  4. python进程和线程中的两个锁
  5. python小数据池,代码块的最详细、深入剖析
  6. 网络分层协议图以及各层的简介
  7. ×××技术在ATM机无线组网中的应用
  8. Delphi连接AutoCAD_计算任意线条的长度宏的嵌套
  9. pandas库Series使用和ix、loc、iloc基础用法
  10. oracle定时任务的编写及查看删除