第二重关系在于跳跃键按下的时间和上升速度间的关系。跳跃行为是时间敏感的。快速按下按键会产生小幅度的跳跃,长时间按着按键会让跳跃延展。这种时间敏感性也有着范围约束:跳跃高度是有着最小值和最大值的,游戏能接收的跳跃输入的时间长短也有着最小值和最大值,后者的长短会影响到前者。从对响应的实际测量来看,当你持续按着A键完成了最长时间的跳跃后,角色会跳到5个格子的高度。假如你尽可能快地轻按A键,角色会跳得很低,大概是1.5个格子。所以在跳跃高度的范围上有很丰富的表现力,你的跳跃高度会处在1.5个格子到5个格子间,这两个极值分别对应着按下按键1帧和按下按键持续半秒(如下图13.10)。
当角色在跳跃后落到地面时,你可以在一段很短的时机内再次按下按键来做出另一种不同的跳跃。在游戏的手册里把这种跳跃叫做“连跳”(ContinuousJump)。这种跳跃会做出一个在垂直上拉伸更大的角色动画,但除去最初的上冲速度外,在功能上和正常跳跃是一样的。此时初始的跳跃作用力会高得多,让角色能更快地往上冲,最终能跳到更高的高度。这种跳跃还是在时间上敏感的,让玩家能挑选何时松开按键,需要一直按下按键才能到达最大高度(如下图15.11)。
用实际的数字列出一张图能更清楚地从视觉上反映出它的做法:当按键按下的时间超过预设的最大跳跃时间时(此时能达到最大的跳跃高度),上升速度的变化会像下图13.12所示。
重力初始跳跃作用力跳跃键按下的最短时间跳跃键按下的最长时间跳跃减缓速度下落的重力值(大概是正常重力值的三倍)终极速度(最大下落速度)
到目前为止,我们有了跳跃的时间敏感性了,当跳跃按键按下时也有了最大跳跃作用力的限制,如今矩形的跳跃让人很满意了。现在唯一的问题在于最小跳跃的高度:基于这种实现,最小跳跃的高度还是很高的。毕竟最大跳跃作用力还是在一段时间里作用的。所以最小跳跃和最高跳跃间的表现范围是很窄的。
暂无
其他
E.T