2016-09-26 96 views
0

當我向上滑動時,我有一個正在運行的角色,並在一段時間後自動回到地面。我需要像跳躍一樣添加變化,如果向下滑動,它應該在該瞬間本身即將降臨。如何在屏幕上向下移動時將角色向下移動到平臺

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();    
      } 
     } 
    } 
} 

這是我的代碼,但它不工作,覺得有些錯誤在sencing觸摸甚至打印在側的foreach不起作用。

+0

哪裏這個foreach循環存在嗎? –

回答

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