unity中,GameObject的长按事件

  1. 给物体添加Event Trigger组件
  2. Event Trigger面板中,点击Add new Event Type,选择Poniter Down && Pointer Up
  3. Pointer Down在按下时触发 Pointer Up在抬起时触发,从按下开始记录时间,便可以进行长按事件的触发

	//长按时间记录
    private float longPressTime;
    private bool isLongPress;


    private void Awake() {
        isLongPress = false;
        longPressTime = 0f;
    }

    private void Update() {
        if(!isLongPress)
            return;
        longPressTime += Time.deltaTime;
        if(longPressTime >= 2f && !RemindText.activeSelf)
        {
            Debug.Log("long press");
        }
    }


	//绑定这个事件 true为按下, false为抬起
    public void LongPress(bool press)
    {
        isLongPress = press;
        if(press == false)
        {
            longPressTime = 0f;
        }
    }

一篇关于这个Event Trigger的文章
Unity3D—UGUI—Button相关、点击、按下、抬起、长按事件

猜你喜欢

转载自blog.csdn.net/qq_40666620/article/details/108451630