Unity UGUI限制Button高频率连续点击
日常使用Unity开发时,用户高频率的点击按钮,可能会出现些奇奇怪怪的Bug,以下代码可以对Button的点击频率做时间间隔限制。
public class ClickButton : MonoBehaviour
{
[SerializeField] bool isClick;//是否点击
[SerializeField] float tempTime = 0;//计时器
[SerializeField] private Button btn_L;
[SerializeField] private Button btn_R;
void Awake()
{
leftBtn.onClick.AddListener(OnClick);//注册按钮事件
rightBtn.onClick.AddListener(OnClick);
}
void Update()
{
if (isClick)//如果被点击
{
tempTime+= Time.deltaTime;
//间隔时长
if (tempTime> 0.5f)
{
tempTime= 0;
leftBtn.enabled = true;
rightBtn.enabled = true;
isClick = false;
}
}
}
private void OnClick()
{
isClick = true;
leftBtn.enabled = false;
rightBtn.enabled = false;
}
}