游戏机制解析课:单向平台只拦截向下穿过的脚底——高度-5的十二次穿越检查(案例07)

2026-10-29

有些平台允许角色从下方穿上去,却会承接从上方落下的角色。只比较最后位置会把两种情况混淆,检查运动方向和穿越范围才能表达单向规则。

本篇给出一份完整且可重复的虚构游戏记录。先读清规则,再尝试自行推演输入,最后逐项对照中间状态。不同作品可以选择不同约定,只有在相同前提下才能比较结果;不要只看最终数字相同就认为过程正确。

约定与原始记录

纵坐标向上增大,平台是给定高度的水平线,横向范围假定始终重叠。脚底从旧位置到新位置线性移动;只有下降且从平台上方或线上到达下方或线上,并且没有穿透指令时,才停在平台高度。

平台高度-5 [[-2, -9, False], [-8, -1, False], [-5, -7, False], [-3, -5, False], [-5, -5, False], [-2, -9, True], [-2, -11, False], [-2, -1, True], [-1, 3, True], [-13, -1, False], [3, -9, False], [0, 2, False]]

逐步计算

脚底-2到-9,穿透标志False,移动方向下降;承接True,接触比例3/7,最后高度-5。

脚底-8到-1,穿透标志False,移动方向上升;承接False,接触比例None,最后高度-1。

脚底-5到-7,穿透标志False,移动方向下降;承接True,接触比例0,最后高度-5。

脚底-3到-5,穿透标志False,移动方向下降;承接True,接触比例1,最后高度-5。

脚底-5到-5,穿透标志False,移动方向静止;承接False,接触比例None,最后高度-5。

脚底-2到-9,穿透标志True,移动方向下降;承接False,接触比例None,最后高度-9。

脚底-2到-11,穿透标志False,移动方向下降;承接True,接触比例1/3,最后高度-5。

脚底-2到-1,穿透标志True,移动方向上升;承接False,接触比例None,最后高度-1。

脚底-1到3,穿透标志True,移动方向上升;承接False,接触比例None,最后高度3。

脚底-13到-1,穿透标志False,移动方向上升;承接False,接触比例None,最后高度-1。

脚底3到-9,穿透标志False,移动方向下降;承接True,接触比例2/3,最后高度-5。

脚底0到2,穿透标志False,移动方向上升;承接False,接触比例None,最后高度2。

十二次独立位移中有5次被平台承接。

复核方法与适用范围

用线段与水平线相交的参数核对接触时刻,再额外检查方向和穿透标志。站在原高度不动不算本例的新穿越,上升交点也不应被当作落地。

这里忽略角色宽度、移动平台、斜坡和其他碰撞体,只说明一条判定规则。接触参数表示本次位移中的比例,不是现实时间秒数;若一次移动途中还有别的障碍,应另外比较哪个接触先发生。

练习时可以只改动一个输入,再观察哪一步首次出现差异。对等于门槛、重复请求、空集合和最后一步分别留一份记录;如果发现异常,应先回到单位、顺序和边界约定,避免用额外补偿掩盖前面已经发生的错误。