- Home /
Unity UI Buttons don't work with Input.GetAxisRaw("Horizontal")
I have a really strange problem. A month ago I was playing with this small game and after successfully making the controls I left it. Now I came back to finish it up, but it turns out my last progress wasn't saved. Now I can't remember how I transformed my controls form the arrow key to UI_buttons on the screen. The only buttons I had were Left and Right. Here is the code from my Update, which shows the code that allows me to move the player with the arrow keys:
void Update () {
float inputX = Input.GetAxisRaw("Horizontal");
float velocity = inputX * speed;
transform.Translate(Vector2.right * velocity * Time.deltaTime);
if (transform.position.x < -screenHalfWidthInWorldUnits)
{
transform.position = new Vector2 (screenHalfWidthInWorldUnits, transform.position.y);
}
if (transform.position.x > screenHalfWidthInWorldUnits)
{
transform.position = new Vector2(-screenHalfWidthInWorldUnits, transform.position.y);
}
}
My variables and Start:
public float speed = 7;
public event System.Action OnPlayerDeath;
float screenHalfWidthInWorldUnits;
void Start () {
float halfPlayerWidth = transform.localScale.x / 2f;
screenHalfWidthInWorldUnits = Camera.main.aspect * Camera.main.orthographicSize;
FindObjectOfType<AudioManager>().Play("engine");
}
What I want, but can't seem to do. I have two UI buttons which have Pointer Down and Pointer Up events. I want to just use the code above and make the player move left or right, similar to the arrow keys. This is what I thought my last code was, but it didn't work. Not even close. I do remember it was really short. A line or two at the most.
public void MoveRight() // PointerDown for Right button
{
}
public void MoveLeft() // PointerDown for Left button
{
}
public void Stop() // PointerUp for stop movement.
{
}
Any help is much appreciated! Thank you!
Your answer
Follow this Question
Related Questions
Hello everyone, I would like to create a Geometry dash like triangle Transporter in unity. 0 Answers
Movement speed of 2 players not matching 1 Answer
Character rotation and move to mouse click point with speed 0 Answers
How do I create WASD controls for a fps? 3 Answers
Unity - halo doesn't work all the time 0 Answers