hi,
i have a sprite which i’d like to rate 180 when moving left/right.
my problem is that when i use transform.rotate everything is inverted ; the sprite and the left/right direction so when i pressed left arrow key, my sprite goes to the right and vice versa.
what’s the right way to do the correct rotation ?
thanks
I’m not sure i understand what you mean but I’ve got an empty object with a sprite (using sprite manager).
Here’s the code I use maybe there’s something wrong in there ?
void Update ()
{
transform.Translate (Input.GetAxis ("Horizontal") * Time.deltaTime * speed, 0, 0);
if (Input.GetAxis ("Horizontal") > 0) { // if going right direction
if (walkingRight != true) { // if was going left the frame before => rotate sprite
Debug.Log ("rotate to the right");
walkingRight = true;
transform.Rotate (Vector3.up * 180);
}
sprite.DoAnim ("walk");
Debug.Log ("going right");
} else if (Input.GetAxis ("Horizontal") < 0) { // if going left direction
if (walkingRight == true) { // if was going right the frame before => rotate sprite
Debug.Log ("rotate to the left");
walkingRight = false;
transform.Rotate (Vector3.up * 180);
}
sprite.DoAnim ("idle");
Debug.Log ("going left");
} else { // play idle anime
sprite.DoAnim ("idle");
}
}