Hold down key for constantly movement problem

I am coding the ability to hold down the WASD keys in order to move the camera about. The problem is though when holding down the up key, the camera moves forwards only once and does not constantly move forwards. Any help with be greatly appreciated.

float speed_x = 10.0F;
	float speed_y = 10.0F;

	// Use this for initialization
	void Start ()
	{
		
	}
	// Update is called once per frame
	void Update ()
	{
		

	
		float translation_x = Input.GetAxis ("Horizontal") * speed_x;
		float translation_y = Input.GetAxis ("Vertical") * speed_y;
   			translation_x *= Time.deltaTime;
		translation_y *= Time.deltaTime;
		Camera.current.transform.Translate (new Vector3 (translation_x, 0, translation_y));
   

	}

You are currently translating the camera by z, rather than y. Vector3 lists parameters as x, y, z. So you probably want :


Camera.current.transform.Translate (new Vector3 (translation_x, translation_y, 0));

I didn’t see anything wrong with your code offhand, so I tested it out. For some reason, Camera.current kept throwing a null pointer error. So I just attached the script to my camera, so I could remove the Camera.current reference. Also, I moved the translation variable declarations outside the update function. There is no point to re-declare the variables at EVERY frame render. Final code works like a charm.

	public float speed_x = 10.0F;
    public float speed_y = 10.0F;
	
	private float translation_x;
	private float translation_y;
 
    // Use this for initialization
    void Start ()
    {
 
    }
    // Update is called once per frame
    void Update ()
    {
       translation_x = Input.GetAxis ("Horizontal") * speed_x;
       translation_y = Input.GetAxis ("Vertical") * speed_y;
		
       translation_x *= Time.deltaTime;
       translation_y *= Time.deltaTime;
		
       transform.Translate (new Vector3 (translation_x, 0, translation_y));
    }