Lex*_*ear 3 c# input unity-game-engine
所以我一直在尝试新的输入系统,事情开始变得有点令人沮丧。我的问题是按钮按下多次触发。我已经尝试了多种操作类型的设置(例如按钮、传递等),并且交互设置为仅按下、释放或其他,似乎并不重要。根据设置,它会触发 2 次或 4 次。
我这里有多个控制器用于测试,如果这还不够混乱,如果第二个或更多玩家加入,他们的按钮只会按下触发器一次。始终只有玩家的按钮会触发多次。有谁知道如何解决这一问题?
看来我不是唯一一个看这个论坛帖子的人。
这是我的非常简单、基本的测试代码,仅供参考。
public void GetInteractValues( InputAction.CallbackContext value )
{
if ( value.started )
print("foo");
}
Run Code Online (Sandbox Code Playgroud)
这么晚了,但以防万一其他人感到困惑:多次调用是预期行为,并在文档中列出(尽管文档花了我一段时间才找到)。
根据此评论,检查context.performed
。
public void OnMyAction(InputAction.CallbackContext context)
{
if (context.started)
Debug.Log("Action was started");
else if (context.performed)
Debug.Log("Action was performed");
else if (context.canceled)
Debug.Log("Action was cancelled");
}
Run Code Online (Sandbox Code Playgroud)