- Home /
Move player to left and right
I am making a endless runner game, and i already made a script that allows the player to go forward for now, ( i would ask how i make you just go instead of pressing W if i could xD ) but in this question, i want to know if there is a way to make my player go to LEFT and RIGHT using the keyboard's standard keys.
The player is a car, and it is in the right side of the road. My road have both left and right ways, and i want to make something like when the player press A, it goes left and when it press D, it goes right, BUT not go with speed. Instead just press one of the keys, and the game will move the car to a specific position. How can i do this?
Answer by Janibasha · Sep 27, 2018 at 09:20 PM
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour
{
private Rigidbody2D rg;
private Animator anim;
public float speed = 8f, maxVelocity = 4f;
// Use this for initialization
void Start()
{
rg = GetComponent<Rigidbody2D>();
anim = GetComponent<Animator>();
}
// Update is called once per frame
void FixedUpdate()
{
PlayerMovement();
}
void PlayerMovement()
{
float forcreX = 0;
float vel = Mathf.Abs(rg.velocity.x);
float h = Input.GetAxisRaw("Horizontal");
if (h > 0)
{
if (vel < maxVelocity)
forcreX = speed;
}
else if (h < 0)
{
if (vel < maxVelocity)
forcreX = -speed;
}
rg.AddForce(new Vector2(forcreX, 0));
}
}
Your answer
Follow this Question
Related Questions
The character controller stop moving when the Speed Start increase Endless runner 0 Answers
How to move player automatically into center of tile while running? 0 Answers
Endless Runner Car Physics Issues (Again) 1 Answer
Value chages when button is held down, but after release it reverts to old value. 0 Answers