Yeah, i did a similar thing, using a tiled background to create a bar of hearts (basically tiling a single heart)
Depending on the amount of health the texture would grow wider and hence repeat multiple hearts.
For empty hearts you'd simply have a another black heart texture beneath the red hearts.
The black texure would reflect the amount of the health max, the red texture that of the current health.
With the animation approach you'd probably need many variations to cover all the possible numbers full and empty of hearts?