Hey everyone, sorry for the weird title but I don’t know how to word this without it sounding confusing. Basically I have a left and right arrow on my screen that move the player when physically held on the phone (touch controls). My problem is that when you click and hold the right arrow button, the player walks right (like they should) but will keep walking even if you drag your finger off of that button. I don’t mean that once you release the button he keeps walking, cause he doesn’t. I mean that if you press and hold the button and slide your finger to anywhere else on the screen (while never taking your finger off the screen) he keeps walking. How do I make it that if the player slides there finger off of the button, the function stops playing? Here is my code for the Right Arrow.
Player Script:
if (Input.GetKey(KeyCode.RightArrow))
{
rb2d.velocity = new Vector2(maxSpeed, rb2d.velocity.y);
transform.localScale = new Vector3(1, 1, 1);
}
if (moveright)
{
rb2d.velocity = new Vector2(maxSpeed, rb2d.velocity.y);
transform.localScale = new Vector3(1, 1, 1);
}
Touch Script:
public void RightArrow()
{
player.moveright = true;
player.moveleft = false;
}
public void ReleaseRightArrow()
{
player.moveright = false;
}
Here is what Unity and Even Triggers look like. Sorry my Right Arrow image is hard to see, I have the Opacity down but it is located on the bottom right of the Scene / Game View.
Thanks everyone!