前幾天項目中需要一個檢測鼠標滑動停止的事件,發現Unity中沒有,只有拖動停止等事件,所以在這裏上傳一個,如果有問題希望大神能指教一下。
private Action onScrollFinish;
private bool isScroll = false;
private bool isStartCoroutine = false;
// Use this for initialization
void Start () {
onScrollFinish += () => { Debug.Log("滾動結束"); };
}
// Update is called once per frame
void Update () {
if (Input.GetAxis("Mouse ScrollWheel") != 0f)
{
isScroll = true;
if (isStartCoroutine==false)
{
StartCoroutine("checkScroll");
isStartCoroutine = true;
}
}
}
IEnumerator checkScroll()
{
while (true)
{
if (isScroll)
{
isScroll = false;
}
else
{
if (onScrollFinish != null)
{
onScrollFinish();
}
StopCoroutine("checkScroll");
isStartCoroutine = false;
isScroll = false;
}
yield return new WaitForSeconds(0.2f);
}
}
檢測。