处理各种类型的按钮按压操作
Rewired提供了多种处理按钮按下的方法。
Player.GetButton:可以获取玩家当前按下的动作按钮的状态。只要按钮处于按下状态,该函数就会返回 TRUE。同样适用于用作按钮的摇杆。
用法:
bool isPressed=Player.GetButton(int actionId);
bool isPressed=Player.GetButton(string actionName);
Player.GetButtonDown:取动作中按下的按钮状态。只有在按钮首次被按下或在设置在与该动作关联的输入行为中的按钮按下缓冲时间限制内的情况下,才会返回 TRUE。这也适用于用作按钮的操纵杆。
用法:
bool isPressed=Player.GetButtonDown(int actionId);
bool isPressed=Player.GetButtonDown(string actionName);
Player.GetButtonUp:获取一个动作的按钮刚刚释放的状态。这只会在按钮被释放的第一个帧返回TRUE。这也适用于将摇杆用作按钮的情况。
用法:
bool isPressed=Player.GetButtonUp(int actionId);
bool isPressed=Player.GetButtonUp(string actionName);
双击:
Player.GetButtonDoublePressHold:获取动作中的双击并保持按钮状态。在双击之后,如果按钮被保持,则返回 TRUE。
用法:
bool isPressed=Player.GetButtonDoublePressHold(int actionId);
bool isPressed=Player.GetButtonDoublePressHold(string actionName);
bool isPressed=Player.GetButtonDoublePressHold(string actionName,float speed);//双击允许的时间(以秒为单位)
Player.GetButtonDoublePressDown:获取动作中的按钮双击状态。只有在双击的第一帧才会返回 TRUE。
用法:
bool isPressed=Player.GetButtonDoublePressDown(int actionId);
bool isPressed=Player.GetButtonDoublePressDown(string actionName);
bool isPressed=Player.GetButtonDoublePressDown(string actionName,float speed);//双击允许的时间(以秒为单位)
Player.GetButtonDoublePressUp:获取动作中的双击按钮并刚刚释放的状态。只有在双击释放后的第一个帧中才会返回TRUE。
用法:
bool isPressed=Player.GetButtonDoublePressUp(int actionId);
bool isPressed=Player.GetButtonDoublePressUp(string actionName);
bool isPressed=Player.GetButtonDoublePressUp(string actionName,float speed);//双击允许的时间(以秒为单位)
单击:
Player.GetButtonSinglePressHold:获取动作中的单次按下并保持按钮的状态。在按下按钮并超过双击超时时间后,此方法将返回 TRUE。如果发生双击,此方法将永远不会返回 TRUE。此方法会延迟,因为它只有在双击超时时间结束后才返回 TRUE。仅在需要检查同一动作中的单次按下和双击时才使用此方法。否则,请使用 GetButton 方法进行即时按钮按下检测。双击速度已在分配给Input Behavior中设置。
用法:
bool isPressed=Player.GetButtonSinglePressHold(int actionId);
bool isPressed=Player.GetButtonSinglePressHold(string actionName);
Player.GetButtonSinglePressDown:获取动作中单击并按住的按钮的状态。此方法仅在按下按钮后的第一帧和双击超时时间结束后返回 TRUE。如果发生双击,此方法将永远不会返回 TRUE。此方法会延迟,因为它仅在双击超时时间结束后返回 TRUE。只有在需要检查同一动作中的单击和双击时才使用此方法。否则,请使用 GetButtonDown 方法进行即时按钮按下检测。双击速度设置在分配给动作的Input Behavior中。
用法:
bool isPressed=Player.GetButtonSinglePressDown(int actionId);
bool isPressed=Player.GetButtonSinglePressDown(string actionName);
Player.GetButtonSinglePressUp:获取动作中的单击按钮并刚刚释放的状态。这将在单击按钮释放后的第一个帧中返回TRUE。如果发生双击,此方法将永远不会返回TRUE。此方法会延迟,因为它仅在双击超时后才返回TRUE。仅在需要在同一动作中检查单击和双击时才使用此方法。否则,请使用GetButtonUp进行即时按钮按压检测。双击速度已在分配给动作的Input Behavior中设置。
用法:
bool isPressed=Player.GetButtonSinglePressUp(int actionId);
bool isPressed=Player.GetButtonSinglePressUp(string actionName);