如何在屏幕上向下滑动时让角色向下移动到平台

时间:2016-09-26 10:16:47

标签: unity3d swipe unity5

当我向上滑动它时,我有一个正在运行的角色,经过一段时间它会自动回到地面。我需要在跳跃的同时添加变化,如果我向下滑动它应该很快就会在那一瞬间降下来。

private Vector3 fp;   
private Vector3 lp;  
private float dragDistance; 
private List<Vector3> touchPositions = new List<Vector3>(); 


foreach (Touch touchi in Input.touches) 

{                           
    if (touchi.phase == TouchPhase.Moved)
    {
        touchPositions.Add(touchi.position);
    }

    if (touchi.phase == TouchPhase.Ended)
    {                       
        fp =  touchPositions[0];
        lp =  touchPositions[touchPositions.Count-1];

        if (Mathf.Abs (lp.x - fp.x) > dragDistance 
                 || Mathf.Abs (lp.y - fp.y) > dragDistance) 
        {
            if (lp.y > fp.y) 
            {
                jumpSpeed = 0;
                enabled = InAir();              
            }
        }
    }
}

这是我的代码,但它不起作用,认为在触摸时甚至打印的一些错误也不适用于副作用。

1 个答案:

答案 0 :(得分:0)

这是一个处理滑动的好片段:

void Update() 
{
    if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
    {
        Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
        if(touchDeltaPosition.y < 0)
        {
            //move character down here
        }
    }
}

Learn More