就是要达到的效果是,比如按一下右键,只动一格,但是按下不放,要先动一格,然后连续快速动
试了GetKeyDown,这肯定不行,没有长按效果,然后改用GetKey,也不行,没有先动一格的效果,直接连续快速动
就是要达到的效果是,比如按一下右键,只动一格,但是按下不放,要先动一格,然后连续快速动
试了GetKeyDown,这肯定不行,没有长按效果,然后改用GetKey,也不行,没有先动一格的效果,直接连续快速动
收起
可以使用 Unity 的 Input.GetKey 方法和计时器来实现按键长按和短按的效果。
首先,在 Update 函数中检测按键是否被按下,如果被按下,则开始计时。如果计时时间超过了一个阈值,则认为是长按,进行连续快速动的操作。
示例代码如下:
// 长按时间阈值
public float longPressTime = 0.5f;
// 记录按键按下的时间
private float pressTime = 0f;
void Update()
{
if (Input.GetKey(KeyCode.RightArrow))
{
pressTime += Time.deltaTime;
if (pressTime >= longPressTime)
{
// 进行连续快速动的操作
// ...
}
else
{
// 先动一格
// ...
}
}
else
{
pressTime = 0f;
}
}
报告相同问题?