- Home /
Question by
WHYMEUnity · Feb 01, 2013 at 08:11 AM ·
javascriptmovementdirection
4 Direction Movement Problem
Hello all, Im trying to write a script that will allow my gameObject to move in 4 directions, however this is proving difficult. Now the gameObject still rotates to match the preferred direction (w,a,s,d), yet it only moves in the +z direction.
Any help is appreciated, thank you.
#pragma strict
public var walkSpeed : float = 1;
function Start ()
{
}
function Update ()
{
if (Input.GetKey(KeyCode.W))
{
walkSpeed=1;
transform.forward = new Vector3(0f, 0f, 1f);
transform.Translate(0, 0, Time.deltaTime);
animation.Play("Walk");
print("W pressed");
}
if (Input.GetKey(KeyCode.S))
{
walkSpeed=-1;
transform.forward = new Vector3(0f, 0f, -1f);
transform.Translate(0, 0, -Time.deltaTime);
animation.Play("Walk");
print("S pressed");
}
if (Input.GetKey(KeyCode.A))
{
walkSpeed=1;
transform.forward = new Vector3(-1f, 0f, 0f);
transform.Translate(-1, 0, 0);
animation.Play("Walk");
print("A pressed");
}
if (Input.GetKey(KeyCode.D))
{
walkSpeed=1;
transform.forward = new Vector3(1f, 0f, 0f);
transform.Translate(1, 0, 0);
animation.Play("Walk");
print("D pressed");
}
if(Input.anyKey == false)
{
animation.Stop();
walkSpeed=0;
}
}
Comment
Best Answer
Answer by WHYMEUnity · Feb 01, 2013 at 11:21 PM
Ok, so I figured it out. The code I was looking for was:
transform.Translate(Vector3.forward*walkSpeed);
--WHYME
Your answer
Follow this Question
Related Questions
Rotation and movement? 1 Answer
Camera Orbit Changing Characters Direction, How? How To Stop It? 0 Answers
Player launches into air when hitting steep slopes 0 Answers
Make so the script only moves and makes actions to the gameObject that its attached to. 2 Answers
Enemy AI With changing Player 0 Answers