Python 现代开发学习笔记

10-01 比较两套移动

本章题解 · 全部练习

题目

用同样一秒输入分别运行固定每帧位移和按 dt 位移,保留 30、60、144 帧的计算结果,解释速度单位。

推导与做法

固定每帧 4 像素时,一秒位移分别为 120、240、576 像素,速度随帧率变化。若速度规定为每秒 240 像素,每帧使用 240×dt,三种帧率一秒都约为 240。

计算中的微小小数误差来自浮点累计。程序先用这个独立计算确认单位,再把相同逻辑接进 World.step;渲染帧率不应成为游戏规则的一部分。

实现与运行

查看带注释实现。本题与相关处理函数放在同一章节代码文件中;启动工具负责定位相邻项目和选择题号。

在配套目录的 Pygame与交互程序/dodge_project 中运行。先按项目 README 执行 uv sync --locked。

# 使用项目解释器运行本题,题号决定执行哪一组演示。
uv run python "../../学习索引/参考实现/代码/ch10.py" 10-01

程序按题号输出处理后的值、查询结果或状态。先和前面的手算比较,再修改一项输入重跑。

查看本题运行结果
# 与上面的手算状态和题目数值逐项比较。
[
  {
    "fps": 30,
    "fixed_4_pixels": 120,
    "speed_240": 240.0
  },
  {
    "fps": 60,
    "fixed_4_pixels": 240,
    "speed_240": 240.0
  },
  {
    "fps": 144,
    "fixed_4_pixels": 576,
    "speed_240": 240.0
  }
]

笔记正文与全部题解 · Ctrl / ⌘ K