public void Start() { AimDirection direction = physics.GetVelocityRef().ClosestDirection(); // going left? bool flipX = direction == AimDirection.LEFT || direction == AimDirection.UP_LEFT || direction == AimDirection.DOWN_LEFT; switch (direction) { case AimDirection.UP: animator.SetBool(Up, true); break; case AimDirection.DOWN: animator.SetBool(Down, true); break; case AimDirection.UP_LEFT: case AimDirection.UP_RIGHT: animator.SetBool(DiagUp, true); break; case AimDirection.DOWN_LEFT: case AimDirection.DOWN_RIGHT: animator.SetBool(DiagDown, true); break; default: animator.SetBool(Horizontal, true); break; } spriteRenderer.flipX = flipX; }
private void Update() { AimDirection aim = physics.GetVelocityRef().ClosestDirection(); if (aim != AimDirection.LAST) { direction = aim; } }
public void Update() { Vector2 velocity = physics.GetVelocityRef(); animator.SetFloat(VerticalSpeed, velocity.y); bool flipX = velocity.x < float.Epsilon; spriteRenderer.flipX = flipX; }