- Home /
why i can't use HitTest function in touch and mouse clicks at the same time?
can anyone tell me why i get this error when writing this code ?
Debug.Log(pauseIcon.GetComponent<GUITexture>().guiTexture.HitTest(Input.touches[0].position)+pauseIcon.GetComponent<GUITexture>().guiTexture.HitTest(Input.mousePosition) );
error : IndexOutOfRangeException: Array index is out of range. OnlineBall.Update () (at Assets/OnlineBall.cs:180)
if i delete
pauseIcon.GetComponent<GUITexture>().guiTexture.HitTest(Input.touches[0].position)
or
pauseIcon.GetComponent<GUITexture>().guiTexture.HitTest(Input.mousePosition)
i will not get any error. why i can't use both of them at the same time?
Answer by Landern · May 09, 2014 at 12:44 PM
If i remember correctly, Input.mousePosition will take into consideration first touch or touches[0]. It does not work the other way around, meaning Input.touches[0] does not represent the mouse position.
Now with regards to Input.touches[0], you will get index out of range exceptions if you are trying to access an item(Touch object) in the array of touches, but what if there wasn't a touch since the last frame rendered? BOOM, exception, check the length of the array to see if it's empty or null.
Your answer
![](https://koobas.hobune.stream/wayback/20220613144635im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Differentiating inputs from mouse clicks and touches 1 Answer
Application in windowed mode - Why does finger-touch work with Unity4x and no longer with Unity5x? 0 Answers
make object disappear after being thrown when mouse clicked anywhere ? 1 Answer
How can I convert a OnMouseDown() command to a GetTouch input properly? 0 Answers
"Working with moving and mouse touch to set coordinates" 0 Answers