- Home /
 
Help with Basic Movement Script
Hi, i'm a beginner on unity3d and I followed a tutorial to make an easy game I make my "car" on unity and make this javascript:
var forwardSpeed : float = 3; var turnSpeed : float = 2;
function Update() { //this is the forward speed that will actually happen var forwardMoveAmount = Input.GetAxis("Vertical")*forwardSpeed;
//actual turn amount var turnAmount = Input.GetAxis("Horizontal")*turnSpeed;
transform.Rotate(0,turnAmount,0); }
but the car only rotates (with the side arrows)... I want the car to move forward and backward with the other arrows... could you help me plz? I attach you a photo of the model I don't know if it can be the problem... http://img4.imageshack.us/img4/83/moversefototodo.jpg
PD : do you know if I can add rigid body and will work too?
Answer by ByteSheep · Mar 09, 2013 at 06:20 PM
You are calculating how quickly you would like the car to move, but you aren't actually applying the movement to the object. You could try something like this:
 var forwardSpeed : float = 3; 
 var turnSpeed : float = 2;
 
 function Update() { 
   //this is the forward speed that will actually happen 
   var forwardMoveAmount = Input.GetAxis("Vertical")*forwardSpeed;
 
   //actual turn amount 
   var turnAmount = Input.GetAxis("Horizontal")*turnSpeed;
 
   transform.Rotate(0,turnAmount,0); 
 
   transform.position += transform.forward * forwardMoveAmount * Time.deltaTime;
 }
 
               P.S. Sure you can add a rigidbody to the car object!
or a wheel collider, which is more realistic but a bigger pain to get running.
Your answer
 
             Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Car movement script ? 1 Answer
each enemy have different damage amount, how to calculate the hp remain??? 1 Answer
Space Invaders movement? 1 Answer
Vehicle/car/ Movement 0 Answers