Movement Speed
Hey i have been trying to get something to work for a long time. I Have a 2D game with a sprite. I have 2 sprites for each direction (N,NE,E,SE,S,SW,W,NW). I dont know how to implement this. Also my movement speed wont change dependent on the value i put in. (WSpeed is up, ASpeed is Left, SSpeed is down, DSpeed is right and RSpeed is Run up)
using UnityEngine; using System.Collections;
public class LoganMovement : MonoBehaviour { public float WSpeed = 3.0f; public float ASpeed = 3.0f; public float SSpeed = 3.0f; public float DSpeed = 3.0f; public float RSpeed = 3.5f;
void Update()
{
if (Input.GetKey(KeyCode.A))
{
Vector3 position = this.transform.position;
position.x--;
this.transform.position = position;
transform.Translate(Vector3.left * ASpeed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.D))
{
Vector3 position = this.transform.position;
position.x++;
this.transform.position = position;
transform.Translate(Vector3.right * DSpeed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.W))
{
Vector3 position = this.transform.position;
position.y++;
this.transform.position = position;
transform.Translate(Vector3.up * WSpeed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.S))
{
Vector3 position = this.transform.position;
position.y--;
this.transform.position = position;
transform.Translate(Vector3.down * SSpeed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.R))
{
Vector3 position = this.transform.position;
position.y--;
this.transform.position = position;
transform.Translate(Vector3.up * RSpeed * Time.deltaTime);
}
}
}
Answer by Ali-hatem · Mar 27, 2016 at 02:52 PM
public float Speed = 3f;
void Update(){
// E direction :
if (Input.GetKey(KeyCode.A))
transform.Translate (-Speed*Time.deltaTime,0,0);
// W direction :
if (Input.GetKey(KeyCode.D))
transform.Translate (Speed*Time.deltaTime,0,0);
}
// or you can use Input.GetAxis if you want both wasd & the arrow keys .
Your answer
Follow this Question
Related Questions
How to rotate an empty obj around (0,0,0) at a fixed distance based on mouse position. 1 Answer
How to change from C# to JAVA? 4 Answers
Using a float from one script and changing it in another? 3 Answers
prefabs are not going towards the 'trigger' 0 Answers
How do i check if same but many objects have x value at maximum? 1 Answer