Возьму пример, как у меня реализовано бьющее сердце из Постала: Для чистоты - создаём папку в текстурах HUD, называем как угодно. Берём подходящую нам иконку и начинаем делать "Спрайт-листы". (Да, это довольно непросто, но впринципе справиться можно. А также, способ показан для размера файла в 128x128).
После проделок с текстурой - отправляемся в ЛуаСкритпы, в HUD/HUD.lua. "_matHealth = -1" превращается в "_matHealth = {}"
В Hud:LoadData делаем так: Стираешь старый self._matHealth, и прописываешь уже: for i=0,9 do self._matHealth[i+1] = MATERIAL.Create("HUD/Health/Health_"..i, TextureFlags.NoLOD + TextureFlags.NoMipMaps) -- Здоровье end
А вот теперь в "Hud:Render(delta)": Вместо: self:Quad(self._matHealth,Cfg.HUDSize*17*w/1024,((768+Cfg.HUDSize*14)-Cfg.HUDSize*sizey)*h/768,Cfg.HUDSize,false)
Ставишь: local hltm = Game.currentTime / 10 / 2 local hlfl = math.floor(hltm) local anfl = math.floor((hltm - hlfl) * 9) self:Quad(self._matHealth[anfl + 1],Cfg.HUDSize*10*w/1024,((768+Cfg.HUDSize*7)-Cfg.HUDSize*sizey)*h/768,Cfg.HUDSize/2.6,false)