- Home /
Question by
Niels_G · Dec 16, 2017 at 09:52 AM ·
movementmovement scriptz-axis
How to make Z one directional?
Hi i want my player to be able to move forward but make him unable to move backwards what do i need to change in this script?
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class Playercontroller : MonoBehaviour {
public float speed;
private Rigidbody rb;
void Start ()
{
rb = GetComponent<Rigidbody>();
}
void FixedUpdate ()
{
float moveHorizontal = Input.GetAxis ("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
rb.AddForce (movement * speed);
}
}
Comment
float moveVertical = Input.GetAxis("Vertical");
if(moveVertical < 0) {
moveVertical = 0;
}
Answer by iTwist · Dec 16, 2017 at 11:32 AM
you can use an if statement:
if (this.transform.position.z <= minimumZ)
{
this.transform.position = new vector3(this.transform.position.x, this.transform.position.y, minimumZ);
}
Your answer
Follow this Question
Related Questions
Implementing Counter-Movement 0 Answers
Touch buttons for step movememt 3 Answers
Accelerometer 2 Answers
MouseLook character is acting wierd 1 Answer
How to drag a game object with a mouse (along x axis)? 1 Answer