- 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).