Search
 
SCRIPT & CODE EXAMPLE
 
CODE EXAMPLE FOR CSHARP

Flip a player in Unity 2D

/*
**Beware; fliping a character using the sprite renderer won't flip important components like colliders attached to it
**To Correctly flip a character, Flip the character by changing the y rotation or by changing the scale of the x axis to -1 or 1
*/

///Fliping a character in Unity 2D
	//Declare variables
	bool _facingRight

	void Update()
	{
		if (Input.GetAxisRaw("Horizontal") > 0  &&  !_facingRight)
        {
            Flip();
        }
        
        //
   		else if (_moveHorizontal < 0 && _facingRight )
        {
            //calls the flip method
            Flip();
        }
 	}   
  
	//Flip Method 
    void Flip()
    {

        //flips the character along the x axis using the sprite renderer correspondingly
        gameObject.GetComponent<SpriteRenderer>().flipX = !gameObject.GetComponent<SpriteRenderer>().flipX;
        
        //Sets the facingright bool to the opposite of what its currently at to prevent repeated flipping
        _facingRight = !_facingRight;
        
        //Flips the character by Rotating the character 180 degrees along the y axis
        //gameObject.GetComponent<Rigidbody2D>().transform.Rotate(0, 180, 0);
        
        //Flips the character by the changing the scale of the x axis to 1 or minus 1
        //gameObject.GetComponent<Rigidbody2D>().transform.localScale = new Vector3(transform.localScale.x*-1, transform.localScale.y, transform.localScale.z);
        
        
    }
 
PREVIOUS NEXT
Tagged: #Flip #player #Unity
ADD COMMENT
Topic
Name
3+9 =