玩游戏学Python10-算术运算符应用2

2.通过update()函数让小车动起来

在《玩游戏学Python5-函数》中提到,pgzero库的update()函数的主要作用是更新游戏数据的,由pgzero库1秒钟之内自动调用60次。可以在该函数中改变小车Actor的位置。

2.1 Actor的位置属性

让小车动起来,其实就是在update()函数中修改汽车Actor的位置属性。如图5所示。

图5 汽车Actor的位置属性

其中,汽车图片的中心位置坐标为(x, y);汽车图片左侧边缘到y轴的距离是left,右侧边缘到y轴的距离为right。在update()函数中,通过修改x、left或者right中的任意一个属性,就改变了汽车的位置,也就能让汽车动起来。

2.2 修改汽车Actor的right属性

以汽车Actor的right属性为例,让汽车动起来的代码如图6所示。

图6 修改car的right属性让汽车动起来

其中,pgzero库每调用一次update()函数,汽车car的right属性就会在自己原先值的基础上加1,也就是朝右边移动1个像素。代码运行效果如图7所示。

图7 代码运行效果

2.3 Python的基本数据类型-浮点型

在《玩游戏学Python3-整型》和《玩游戏学Python4-字符串》中提到了Python四种基本数据类型中的整型和字符串型。浮点型实际上就是小数,用float表示。使用浮点型数据的代码如图8所示。

图8 浮点型变量的定义

其中,a、b、c都是浮点型变量。

在汽车移动的代码中,可以定义一个浮点型变量表示汽车移动的速度,之后在update()中使用该速度来修改car.right,代码如图9所示。

图9 使用浮点型修改car.right的代码

其中,第12行代码定义的car_speed表示汽车行驶的速度;第27行代码中,每次调用update()函数,car.right属性就会增加car_speed值。car_speed值越大,汽车行驶的速度就越快。以上代码运行后,可以明显看出,汽车的速度比图6所示代码变快了。

相关推荐
tachibana22 小时前
Go 语言的 Map 是否是并发安全的?
开发语言·数据结构·后端·golang·go·语言
后除2 小时前
Go 实战: 使用 Wails v2.15 构建轻量级的桌面应用 - 仿微信登录界面
开发语言·微信·golang
坤坤子吖2 小时前
Linux 进程信号入门——从 Ctrl+C 到 kill
linux·开发语言·c++·笔记·学习
deepseek232 小时前
Dependabot匿名私有仓库开放后仍更新失败?组织级镜像的访问边界与排查实战
python·github·devops·软件供应链·dependabot
看浪的路人2 小时前
第8讲:RAG 生产化——Go 实现亿级向量召回 + 混合检索 + 重排序 Pipeline
开发语言·后端·golang
曲径海盗2 小时前
【Python 学习第 28 天】字符串基础
python·学习笔记·编程入门
tachibana22 小时前
Go 语言 Map 的扩容过程是怎样的?
开发语言·后端·golang·go·语言
念何架构之路2 小时前
go-grpc服务端调用链
开发语言·后端·golang
泡海椒2 小时前
JQuickExcel 大文件排障与调优:从实际路径定位 OOM、临时盘和慢任务
开发语言·数据库·缓存·oracle·excel