Если вы делаете персонажа через Rigidbody 2D, то можете использовать его velocity:
using UnityEngine;
public class FlappyBirdGraphics : MonoBehaviour {
[SerializeField] private Rigidbody2D _rigidbody;
[Space]
[SerializeField] private SpriteRenderer _spriteRenderer;
[SerializeField] private Sprite _raisingSprite;
[SerializeField] private Sprite _fallSprite;
private void Update() {
if (_rigidbody.velocity.y >= 0) {
_spriteRenderer.sprite = _raisingSprite;
} else {
_spriteRenderer.sprite = _fallSprite;
}
}
}
Вектор _rigidbody.velocity это что-то типа скорости, а свойство y (_rigidbody.velocity.y) это его вертикальная часть. Ну и дальше просто смотрите на её знак.
Можно ещё сделать через аниматор или трансформ, но через Rigidbody эту игру делать проще всего. Если захотите добавить промежуточное "начальное состояние", когда персонаж смотрит ровно, то можно взять значение 0 и близкие к нему и по такому же принципу туда вставлять соответствующую картинку.