- Home /
Help with iTouch control bug
// Update is called once per frame
void Update () {
if (Input.touches.Length <= 0){
}
else{
for (int i =0; i < Input.touchCount; i++)
{
if(this.guiTexture != null && this.guiTexture.HitTest(Input.GetTouch(i).position))
{
if(Input.GetTouch(i).phase == TouchPhase.Began)
{
this.SendMessage("OnTouchDown");
}
if(Input.GetTouch(i).phase == TouchPhase.Ended)
{
this.SendMessage("OnTouchUp");
}
if(Input.GetTouch(i).phase == TouchPhase.Moved)
{
this.SendMessage("OnTouchMoved");
}
}
else if(Input.GetTouch(i).phase == TouchPhase.Moved)
{
this.SendMessage("OnTouchMovedOutside");
}
}
}
What this code does is when your finger is held down on a certain gui texture, it sends the message on touch down, it also sends a message when your finger moves on the texture, and when you left your finger from the texture. The other message it sends is if your finger moves outside of the texture it sends the message.
Well I'm using this script so I can make an analog stick, but the problem I'm having is when I'm walking around with the controls (which works fine) I want to be able to press other buttons at the same time, but the problem I'm having is that the "OnTouchMovedOutside" function will make my player freeze (so i know if the finger slides off the arrow button). So when I press another button it makes my player freeze... I can't think of a solution and I've tried a lot of stuff. Any ideas?
By the way this is not my code and written by this dude http://www.youtube.com/watch?v=M1ONH0Sv37A
Your answer
Follow this Question
Related Questions
Count a touch in half of screen 2 Answers
touch and destroy clone object with specific color 0 Answers
Touch interference 1 Answer
Touch movement - freedrag jittery with tilt from spaceshooter 0 Answers
Merging touches 0 Answers