今天实现的内容:
黑魂游戏中后跳、翻滚、跳跃的键位设计
在黑魂游戏中,后跳和翻滚是由一个键实现的,在站立不动时,按下(哪怕你是按住)该键会后跳。移动时单击该键会翻滚,按住该键时移动会奔跑。奔跑时按下跳跃键才能跳跃。最大的问题就是要区分同一个按键的单击和按住,我们将采用的方案为通过计算按下按键的时间来判断到底是按住了还是单击。
而在键盘上,跳跃和后跳翻滚奔跑居然都是一个键(默认space),通过奔跑时快速再按下该键来实现跳跃,而手柄上连按两下该键是翻滚。
单击和按住的代码实现
// 按键按压计时器
private float pressTimer;
// 单击的间隔时间 小于等于这个时间是单击 大于这个时间是长按(Long Press)
private float clickIntervalTime = 0.2f;
// 长按还是单击 决定是冲刺还是翻滚/后跃
private void RollOrRun(string _key)