You can try something like this, drycoded so I'm not sure about the texture coordinates
Lua Code:
local fill = bar:GetStatusBarTexture()
local animatedTexture = bar:CreateTexture(nil, 'ARTWORK', nil, 2)
animatedTexture:SetAllPoints(fill)
animatedTexture:SetTexture('texturepath')
local timeSince, textureOffset = 0, 0
bar:SetScript('OnUpdate', function(self, elapsed)
timeSince = timeSince + elapsed
if timeSince >= 0.03 then -- speed at which it updates
local value = self:GetValue()
local minValue, maxValue = self:GetMinMaxValues()
local diff = maxValue - minValue
if diff > 0 then -- cut off horizontally to match the bar fill value, and rotate vertically however you want
animatedTexture:SetTexCoord(0, (value - minValue) / diff, textureOffset, textureOffset + 1)
end
textureOffset = textureOffset + 0.02 -- how far to animate the texture each update
if textureOffset > 1 then textureOffset = textureOffset - 1 end
timeSince = 0
end
end)