碰撞模拟器

这是一个粒子碰撞模拟器,用于比较不同的碰撞检测算法,最多可容纳上万粒子。

游戏录屏

游戏简介

  1. 界面说明
    • 屏幕左上角绿色数字为游戏帧数。
    • 屏幕上方中间白色数字为当前粒子总数,右侧按钮可增加 100 个粒子。
    • 屏幕右上角为网格算法开关。
  2. 游戏说明
    • 增加粒子数观察粒子数与游戏帧数的关系。
    • 切换碰撞检测算法,观察算法对游戏帧数影响。
    • 当粒子总数超过 801 后,游戏会强制启用网格碰撞检测算法,此时一般算法下游戏帧数过低。
信息
碰撞检测算法 的详细说明请参考本博客 碰撞模拟器系列教程 - 使用 pygame 构建碰撞模拟器:碰撞检测

操作说明

  1. 增加 100 个粒子:
    • :点击屏幕上方中央偏右 +100 按钮;
    • :按 P 键(Particle)。
  2. 切换碰撞检测算法:
    • :点击屏幕右上方开关;
    • :按 G 键(Grid)。

开始游戏

点击 开始游戏 前往游戏页面。

请耐心等待 1 ~ 2 分钟
由于本博客服务器公网带宽仅为 4 Mbps(约 500 KB/s),初次打开网页可能需 1 ~ 2 分钟,请耐心等待游戏加载。
游戏在 Safari 中可能卡顿,推荐使用 Chrome
若使用 Safari 打开游戏页面且发现游戏帧数过低、卡顿明显,请用鼠标点击游戏界面外、浏览器窗口内任意区域,取消对游戏界面所在的 <canvas> 容器的选中(使游戏界面四周的蓝色选中框消失),此时游戏帧数应该恢复正常。
这可能是 pygbag 在 Safari 浏览器中的一个 bug,使用 Chrome 浏览器时不存在该问题。
0%