玩游戏学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所示代码变快了。

相关推荐
1024奇点7 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
实名上网宋凯宣7 小时前
Django
后端·python·django
Warren2Lynch8 小时前
C4 模型详解:利用 Visual Paradigm 可视化软件架构的综合指南
开发语言·uml
如若1238 小时前
【论文复现】CoFailMed:从零复现医学图像分割的共享失败审计,含完整代码流程与科研绘图
人工智能·python
Knight_AL9 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
FRing039 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
by2099910 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
砚底藏山河10 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
视觉小萌新10 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
IT召唤狮10 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php