Moving player to mouse click

I was planning on publishing my game to the google play store but I’ve run into a problem. Now I need to completely redo my movement script. Right now it is set up for mobile touch input and I’d like to change it to work with a mouse. Essentially I want to set it up in a way where the player teleports to the mouse position but only on the x axis as that is how the game works. How can I do this? Thanks.

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class Movement : MonoBehaviour
{

public GameObject gameOverMenu;
public GameObject highScoreNumber;

void Update()
{
    if (Input.touchCount > 0)
    {
        Touch touch = Input.GetTouch(0);
        Vector3 touchPosition = Camera.main.ScreenToWorldPoint(touch.position);
        touchPosition.z = 0f;
        touchPosition.y = 0f;
        transform.position = touchPosition;
    }
}

void OnCollisionEnter2D(Collision2D collision)
{
    if (collision.gameObject.name == "Obstacle(Clone)")
    {
        StartCoroutine("GameOverMenu");
        Time.timeScale = 0;
    }
}

IEnumerator GameOverMenu()
{
    yield return new WaitForSecondsRealtime(.8f);
    gameOverMenu.SetActive(true);
    highScoreNumber.SetActive(true);
}

}

You should simply be able to use:

  • Input.GetMouseButton(0) instead of Input.GetTouch(0)
  • Input.mousePosition instead of touch.position

@shahprateek317 What would I replace Touch with because I get an error saying “cannot implicitly convert bool to UnityEngine.Touch.”

if (Input.GetMouseButton(0))
{

        Touch touch = Input.GetMouseButton(0);
        Vector3 mousePosition = Camera.main.ScreenToWorldPoint(touch.position);
        mousePosition.z = 0f;
        mousePosition.y = 0f;
        transform.position = mousePosition;
    }