How to move object based on rotation

Good morning, quick question for you guys…

First off, my game’s camera is bird’s eye, meaning it is positioned directly above the player’s character and is looking down on it.

I want to move the character in the direction that it is facing, meaning if it is facing west, and I rotate it 45 degrees towards north, any forward movement from the character will be made towards North West…

The forward and back functions don’t seem to be working at all…

Here is my code. Your help will be much appreciated…

void Update () {

	bool left = Input.GetKey (KeyCode.A);
	bool right = Input.GetKey (KeyCode.D);
	bool forward = Input.GetKey (KeyCode.W);
	bool back = Input.GetKey (KeyCode.W);

	if (left) 
	{
		transform.Rotate (Vector3.forward * -2);
	}

	if (right) 
	{
		transform.Rotate (Vector3.forward * 2);
	}

	if (forward) 
	{
		transform.position = Input.GetAxis("Vertical") * transform.forward;
	}

	if (back) 
	{
		transform.position = Input.GetAxis("Horizontal") * transform.forward;
	}

}

Well what do you know… Seems like I got it to work with: rigidbody2D.AddForce(transform.up * 1 * -1);

Now all I have to do is setup a maximum speed.