Unity是否记得按下的按键?
我有我的移动,跳跃和攻击的动画,但如果当我跳我按atack键,跳后的pj攻击,我不想要它,所以我的问题是:Unity是否记得按下的按键?
Unity是否记住什么键用户按下了吗?我可以避免它吗?
Unity是否记得用户按下的按键?
这取决于使用哪个输入API。
统一记得哪个键时用户Input.GetKeyDown用于在帧仅按压。在该框架通过之后,它消失并且现在是假的。只有当该键被释放并再次按下时,它才会再次成立。
void Update()
{
//True when Space key is pressed
if (Input.GetKeyDown(KeyCode.Space))
{
}
//One Frame has passed, Input.GetKeyDown will be false next time Update() is called
}
统一记住哪些关键用户按下当Input.GetKey用的每框架。只有钥匙才会被释放。
void Update()
{
//True when Space key is pressed
if (Input.GetKey(KeyCode.Space))
{
}
//One Frame has passed, Input.GetKe will STILL be true next time Update() is called
}
行为是-相同,除了它返回-1到值,而不是true
或false
的Input.GetKey
功能。当密钥被释放时,在接下来的几帧中,它逐渐地返回0
。
行为是-相同,除了它返回-1到值,而不是true
或false
的Input.GetKeyDown
功能。当密钥被释放时,它立即返回0
。
只需添加一件事:如果输入管理器中的重力和灵敏度都设置为100,则'Input.GetAxis'可以像'Input.GetAxisRaw'一样工作。 – Galandil
@Galandil是的,它可以。我写了它的默认行为。对于任何修改它来像'Input.GetAxisRaw'一样工作的人来说,使用'Input.GetAxis'有什么意义,因为这是它们之间的唯一区别。 – Programmer
确实没有意义,我只是为了Unity的一般知识而发布它。 :) – Galandil
这将在很大程度上取决于你的代码肯定 – BugFinder
我不确定我是否理解你的问题:你想“覆盖”了“旧”按键,如果在处理前一个之前按另一个键? – nabuchodonossor
是否可以添加您尝试过的代码 – trahane