礼拜一-礼拜五:09.00 早上-06.00 下午

游戏新闻

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

2026-10-29

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

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

约定与原始记录

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

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

逐步计算

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

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

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

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

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

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

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

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

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

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

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

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

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

复核方法与适用范围

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

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

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