hi,
doing a subwaysurfer like game, but with car. i got stuck with the character’s movement.my character is moving teleporting from one point to another, but i want a continues slow movement, where the player can see the character moving. need help on where iam making mistake.please explain.
using UnityEngine;
using System.Collections;
public class inputManager : MonoBehaviour {
public float playerSpeed;
public float playerStrifingValue;
public GameObject player;
public float playerTimeTakenToLerp;
private Vector3 firstSwipe;
private Vector3 secondSwipe;
private Vector3 currentSwipe;
private float movementDistance;
//private float carMovement;
//private float leftEndPosition = -3.17f;
//private float rightEndPosition = 3.17f;
//private float accleration;
//float otherObjectYlocalScale;
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
player.transform.Translate((Vector3.forward * playerSpeed) * Time.deltaTime);
if (Input.GetMouseButtonDown (0))
{
firstSwipe = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
}
if (Input.GetMouseButtonUp (0))
{
secondSwipe = new Vector3(Input.mousePosition.x, Input.mousePosition.y, Input.mousePosition.z);
currentSwipe = new Vector3(secondSwipe.x - firstSwipe.x,
secondSwipe.y - firstSwipe.y,
secondSwipe.z - firstSwipe.z);
currentSwipe.Normalize();
//print(firstSwipe);
//print(currentSwipe);
}
PlayerMovement ();
}
void PlayerMovement()
{
if (Input.GetMouseButtonUp (0))
{
if (currentSwipe.x < 0 & currentSwipe.y < 0.5f & currentSwipe.y > -0.5f)
{
player.transform.position = Vector3.Lerp(player.transform.position,
new Vector3((currentSwipe.x * playerStrifingValue) + player.transform.position.x,
player.transform.position.y,
player.transform.position.z),
playerTimeTakenToLerp * Time.deltaTime);
}
if (currentSwipe.x > 0 & currentSwipe.y < 0.5f & currentSwipe.y > -0.5f)
{
player.transform.position = Vector3.Lerp(player.transform.position,
new Vector3((currentSwipe.x * playerStrifingValue) + player.transform.position.x,
player.transform.position.y,
player.transform.position.z),
playerTimeTakenToLerp * Time.deltaTime);
}
if (player.transform.position.x < -3f)
player.transform.position = new Vector3(-3f, player.transform.position.y,player.transform.position.z);
if(player.transform.position.x > 3f)
player.transform.position = new Vector3(3f, player.transform.position.y,player.transform.position.z);
}
}
}