@B1esieForever

Не могу понять, как отразит персонажа в unity?

Есть управление реализованное через Vector2, Необходимо отражать персонажа при движении(но при движении наверх это не нужно(ужасно выглядит))

private Vector2 moveVelocity;
    void Start()
    {
        
        rb=GetComponent<Rigidbody2D>();
    }

    
    void Update()
    {
        Vector2 moveInput = new Vector2(Input.GetAxisRaw("Horizontal"),Input.GetAxisRaw("Vertical"));
        moveVelocity=moveInput.normalized*speed;
               
    }
    void flip()
    {
        faceRight=!faceRight;
        transform.localScale= new Vector3(transform.localScale.x*-1,transform.localScale.y,transform.localScale.x);
    }
     
    void FixedUpdate()
    {
        rb.MovePosition(rb.position+moveVelocity*Time.fixedDeltaTime);
        
    }

}
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 1
DanielMcRon
@DanielMcRon
C# && Unity
Можно через SpriteRenderer.flipX. Движение по x < 0 - двигаемся влево и flipX = true,
Движение по x > 0 - двигаемся вправо и flipX = false
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы