unity 点击按钮控制物体移动

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
using UnityEngine.EventSystems;


public class MoveDown : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerClickHandler
{
    public GameObject go;
    //要移动的物体
    private float delay = 0.01f;
    //延迟时间,时间越小,运动越连贯平稳,越大越顿
    private bool isDown = false;
    //按钮是否被按下
    private float lastIsDownTime;
    //按钮最后一次被按下的时间




    // Update is called once per frame
    void Update()
    {
        //如果按钮是被按下状态 


        if (isDown)
        {
            // 当前时间 -  按钮最后一次被按下的时间 > 延迟时间 
            if (Time.time - lastIsDownTime > delay)
            {
                print("长按!");
                // 触发长按方法  
                lastIsDownTime = Time.time;
                // 记录按钮最后一次被按下的时间  


                go.transform.Translate(Vector3.down * Time.deltaTime * 2,Space.World);




            }


        }


    }
    public void OnPointerClick(PointerEventData eventData)
    {
        print("点击下按钮!");
        isDown = false;
    }
    public void OnPointerDown(PointerEventData eventData)
    {
        isDown = true;
        lastIsDownTime = Time.time;
        print("长时间按下下按钮!");
    }
    public void OnPointerUp(PointerEventData eventData)
    {
        print("抬起下按钮!");
        isDown = false;
    }
}

你可能感兴趣的:(unity 点击按钮控制物体移动)