Diskuze: draw event 2D

Ostatní jazyky GameMaker GameMaker draw event 2D

Avatar
Ondřej Niesner:

Ahoj dělám 2D skákačku a chtěl bych vykreslit xp bar který se bude posouvat společně s room_view ale nějak se mi to nedaří. Použil jsem view_xview a view_yview ale když se view posune vypadá to takhle:
Díky předem za odpověď..

Editováno 19.7.2015 21:51
 
Odpovědět 19.7.2015 21:50
Avatar
rosina.jakub
Člen
Avatar
rosina.jakub:

Do End Step si daj

x= view_xview[0]+(x-ová súradnica kde je hp bar vykreslený)
y= view_yview[0]+(y-ová súradnica kde je hp bar vykreslený)
 
Nahoru Odpovědět 20.7.2015 21:08
Avatar
Odpovídá na rosina.jakub
Ondřej Niesner:

dal jsem to do End step ale to se mi nevykreslí nic, vykreslil jsem xpbar pomocí 3 obdélníků
je to takhle správně?

 
Nahoru Odpovědět 21.7.2015 16:24
Avatar
rosina.jakub
Člen
Avatar
rosina.jakub:

a keď ten xpbar vykreslíš normálne ako HEALTH BAR??

 
Nahoru Odpovědět 21.7.2015 18:45
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Ondřej Niesner
TomBen:

Pokud používáš GameMakerStudio, tak je tam k tomu event DrawGUI. Jde o vrstvu nad běžnými objekty, která se nikam neposouvá. Jinými slovy, pokud vykreslíš něco v DrawGUI na souřadnicích 20,20, tak to bude prostě 20 pixelů od levého horního okraje okna. Pořád.

Editováno 21.7.2015 19:04
Nahoru Odpovědět 21.7.2015 19:03
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Ondřej Niesner:

Tak když to vykreslím jako heatlh bar tak to funguje a posouvá se společně s room view, ale nešlo by to nějak jinak? Chtěl bych mít totiž xpbar pro každou zbraň takže bych musel udělat hodně dalších objektů a navíc jak jsem pochopil tak nejde mít víc jak 100 health? Game Maker Studio nemám...

 
Nahoru Odpovědět 21.7.2015 21:16
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Ondřej Niesner
TomBen:

Z hlediska pohybu je úplně jedno, jestli to vykresluješ funkcí na kreslení healthbarů nebo to skládáš z obdélníků. Obojí jde udělat správně.
A rozhodně nemusíš mít samostatný objekt pro každé vykreslení healthbaru.
Klidně je vykresli naráz:

for(i=1;i<5;i+=1)
{
vx=view_xview[0];
vy=view_yview[0]+(10*i);
draw_healthbar(vx,vy,vx+200,vy+8,gun_power[i],c_dkgray,c_red,c_lime,0,true,true);
}

EDIT: Jo a když je množství větší než sto, tak použiješ matematiku před vykreslením. Jsou to prostě procenta..

Editováno 22.7.2015 9:43
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 22.7.2015 9:41
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.