- Home /
 
 
               Question by 
               OCETP · Oct 08, 2014 at 08:08 PM · 
                raycastgametouchtouchscreenmultitouch  
              
 
              Touch dont work
Why my android device does not responds to touches to buttons? It is 2 game.
     public GameObject Character;
     private Vector2 Vec1;
     private Vector2 Vec2;
 void Update () {
         transform.rotation = Character.transform.rotation;
         transform.position = new Vector3(Character.transform.position.x, Character.transform.position.y, transform.position.z);
 
         if(Input.touchCount > 0) {
             for (int i = 0; i<Input.touchCount; i++) {
                 if (Input.GetTouch(i).phase == TouchPhase.Began) {
                     Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(i).position);
                     RaycastHit hit;
                     if (Physics.Raycast (ray, out hit) && hit.collider.tag == "Move"){
                         Vector2 Vec1 = Camera.main.ScreenToWorldPoint(Input.GetTouch(i).position);
                         if ((Input.GetTouch(i).phase == TouchPhase.Moved | Input.GetTouch(i).phase == TouchPhase.Stationary)){
                             if (Vec1.x > Input.GetTouch(i).position.x)
                                 Character.GetComponent<CharacterControlTouchScreen> ().move = -1;
                             else if (Vec1.x < Input.GetTouch(i).position.x)
                                 Character.GetComponent<CharacterControlTouchScreen> ().move = 1;
                         }
                         if (Input.GetTouch(i).phase == TouchPhase.Ended | Input.GetTouch(i).phase == TouchPhase.Canceled)
                             Character.GetComponent<CharacterControlTouchScreen> ().move = 0;
                     }
                     if (Physics.Raycast (ray, out hit) && hit.collider.tag == "Jump"){
                             Character.GetComponent<CharacterControlTouchScreen> ().IsPressedJump = true;
                         if (Input.GetTouch(i).phase == TouchPhase.Moved | Input.GetTouch(i).phase == TouchPhase.Stationary)
                             Character.GetComponent<CharacterControlTouchScreen> ().IsPressedJump = true;
                         if (Input.GetTouch(i).phase == TouchPhase.Ended | Input.GetTouch(i).phase == TouchPhase.Canceled)
                             Character.GetComponent<CharacterControlTouchScreen> ().IsPressedJump = false;
 
 
 }
 
 }
         }
     }
 }
 
              
               Comment
              
 
               
              Answer by Mojova · Oct 08, 2014 at 08:23 PM
if ((Input.GetTouch(i).phase == TouchPhase.Moved | Input.GetTouch(i).phase == TouchPhase.Stationary)) This condition is never true because it's inside this if statement (Input.GetTouch(i).phase == TouchPhase.Began).
Your answer