Search
 
SCRIPT & CODE EXAMPLE
 

CSHARP

how to flip character in unity 2d

Put this in Update() = 

    //Flip the player's localScale.x 
    if the move speed is greater than .01 or less than -.01

        if (targetVelocity.x < -.01)
        {
            transform.eulerAngles = new Vector3(0, 180, 0); // Flipped
        }
        else if (targetVelocity.x > .01)
        {
            transform.eulerAngles = new Vector3(0, 0, 0); // Normal
        }
Comment

Flip a character in Unity

/*
**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);
        
        
    }
Comment

How to flip a character in Unity 2D

 //Checks if the left and right keys are pressed and flips the player accordingly
 //Make sure the player scale on the x axis is 1
    
    //Checks if the right key is pressed
    if (moveHorizontal > 0)
   	 {
     	rb2D.transform.localScale = new Vector3(1, transform.localScale.y, transform.localScale.z);
   	 }

	//Checks if Left Key is pressed
	else if (moveHorizontal < 0)
  	 {
       rb2D.transform.localScale = new Vector3(-1, transform.localScale.y, transform.localScale.z);
  	 }
Comment

PREVIOUS NEXT
Code Example
Csharp :: c# check lenght 
Csharp :: unity joystick movement 
Csharp :: c# Get type with namespace 
Csharp :: c# regex find number in string 
Csharp :: c# list length 
Csharp :: what is type unity 
Csharp :: difference between alpha and beta testing 
Csharp :: set request timeout c# 
Csharp :: textbox in xamarin forms 
Csharp :: c# bitmap to array byte 
Csharp :: generate entity model dot net core 
Csharp :: Operator Overloading | C# 
Csharp :: item switch unity 
Csharp :: roman 
Csharp :: c# isarray 
Csharp :: c# read last 10 lines of file 
Csharp :: c# generate unique key 
Csharp :: single line and multiline comments in c# 
Csharp :: how to pass optional guid parameters in c# 
Csharp :: lcm of list of number 
Csharp :: array of strings by splitting lines c# 
Csharp :: getter setter c# 
Csharp :: get percentage c# 
Csharp :: c# random 
Csharp :: detect collision in unity 
Csharp :: c# get function name 
Csharp :: the .net core sdk cannot be located 
Csharp :: c# #region #endregion 
Csharp :: c# remove duplicates from list 
Csharp :: how to load file from resources in c# 
ADD CONTENT
Topic
Content
Source link
Name
7+2 =