GTA Közösség - A magyar GTA fórum

Multi Theft Auto (MTA) => MTA: Szerverfejlesztés => Segítségkérés => A témát indította: EmXiz - 2019. November 10. - 04:42:08

Cím: dxDrawImageSection segítségkérés
Írta: EmXiz - 2019. November 10. - 04:42:08
dxDrawImageSection segítségkérés
 
Sziasztok, most tanulom a lua fejlesztést, és egy \"oszlopos\" megjelenésű hud-ot szeretnék készíteni, de elakadtam.
Két képből szeretném kirajzolni, egy háttér, és egy bar, ami 3 színű (photoshop-ban elkészítve) és a HP-nak megfelelően látszódik. (Tehát 50 HP-nál csak a fele látszódik a  bar-nak)
Itt a kód, amivel próbálkoztam:
Kliens.lua :
 

local kepernyom = {guiGetScreenSize()} -- Képernyő lekérése
local panelSize = {
[\"hud\"] = {400, 400},
[\"hudHp\"] = {100, 100},
}
local panelPos = {kepernyom[1]-panelSize[\"hudHp\"][1]+5, kepernyom[2]-panelSize[\"hudHp\"][2]+70} -- Poziciónálás
addEventHandler(\"onClientRender\", root, function ()
local hp = getElementHealth(localPlayer)
   
    dxDrawImage(panelPos[1] - 37, panelPos[2] + 100, 100, 100, \"files/hpBg.png\")
dxDrawImageSection(panelPos[1] - 27, panelPos[2] + 143, 80, 44*(hp/100), panelPos[1] - 27, panelPos[2] + 143, 80, 44*(hp/100), \"files/hpBar.png\")
end)

 

Így viszont mindig csak a bar egy adott részét rajzolja ki, nem csak a magassága változik. Úgy szeretném megcsinálni, hogy a szélessége állandó, a magassága pedig a HP-nak megfelelően változik. Előre is köszönöm a segítségeteket.
Cím: dxDrawImageSection segítségkérés
Írta: Jason - 2019. November 16. - 08:42:03
Szia!
Én ez alapján a videó alapján készítettem el annó az első saját HUD-omat. Remélem Neked is segíteni fog.
 
 


   

 
 
Cím: dxDrawImageSection segítségkérés
Írta: EmXiz - 2019. November 16. - 15:34:01
Szia! Köszönöm a segítséged, de sajnos nem erre gondoltam.
Képpel szeretném megoldani, hogy a csík színátmenetes legyen. És a dxDrawImageSection-nak elvileg ez a lényege, hogy le tudom vágni a kép mondjuk tetejét. Tehát ha 100 hp-d van, a teljes csík látszik (alja piros, közepe sárga, teteje zöld). Ha pedig 50 akkor csak az alja, ami piros, és a közepe, ami sárga látszódna. Csak nem így rajzolja ki, hanem csak a sárga részét rajzolja a bar-nak (tehát a közepét, nem az egészet). Ezt nem értem, hogy miért így csinálja, próbálkoztam azóta is vele, de nem lett jobb sajnos.