
Что насчёт бьющегося сердца - вещь довольно интересная в плане реализации. Для иконок попробую подсказать:
Возьму пример,
как у меня реализовано бьющее сердце из Постала:
Для чистоты - создаём папку в текстурах 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)
Надеюсь, кое-какую наводку дал)