NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Lekce 14 - Unity (C#) Android - Healthbar 2

V minulé lekci, Unity (C#) Android - Healthbar 1, jsme do naší arkády přidali healthbar.

Dnes se podíváme na vylepšení health baru, aby vypadal profesionálněji. Uděláme klasický ukazatel zdraví, který můžeme znát z mnoha různých her. Tenký, podlouhlý a ideálně bez rušivého textu s číslem.

Nové sprity

Například v Photoshopu si můžeme vytvořit vyříznutý obdélník s dírou, nebo můžete použít tuto grafiku z kurzu, jak je již zvykem:

Tvorba 2D arkády pro Android v Unity

Rovněž budeme potřebovat červené pozadí, které v rámečku výše bude zdraví reprezentovat:

Tvorba 2D arkády pro Android v Unity

Vložení pozadí

Původní zelený obdélník smažeme a nahradíme tímto červeným pozadím:

Tvorba 2D arkády pro Android v Unity

Vložení ohraničení

Dále na scénu přidáme přiložené ohraničení:

Tvorba 2D arkády pro Android v Unity

Jako potomka v hierarchii ohraničení přiřadíme HealthBar a pokusíme se health bar upravit na takovou velikost, aby se vešel do výřezu. Také je zde zbytečný text ukazující kolik máme zdraví, odstraníme tedy komponentu textu z objektu:

Tvorba 2D arkády pro Android v Unity

Finální objekt si pojmenujeme healths, struktura bude nyní vypadat následovně:

Tvorba 2D arkády pro Android v Unity

Úprava skriptu

Kdybychom nyní hru zapnuli, health bar by nefungoval. To proto, že jsme smazali text, který se skript snaží najít. V Health stačí pouze najít a smazat tuto řádku:

gameObject.GetComponent<text>().text = "Health: " + health;

Rodič pozadí

Nyní si vytvoříme další podobjekt našeho HealthBar, který si pojmenujeme HealthBarProgressParent. Objektu vynulujeme souřadnice a nastavíme mu scale na 1, 1, 1:

Tvorba 2D arkády pro Android v Unity

Obdélník znázorňující životy dáme jako podobjekt tohoto objektu, také si ho přejmenujeme na HealthBarProgress:

Tvorba 2D arkády pro Android v Unity

Nyní přesuneme Health na HealthBarProgressParent. Kvůli tomuto kroku musíme na hráči, přesněji na jeho skriptu PlayerCollisionDetection znovu přiřadit objekt, kde se nachází Health.

Úprava pivotu

Nyní si otevřeme sprite editor našeho červeného pozadí v health baru. Vidíme zde modré kolečko:

Tvorba 2D arkády pro Android v Unity

Toto modré kolečko přesuneme na levý okraj spritu:

Tvorba 2D arkády pro Android v Unity

Pravděpodobně se nám pozadí trochu posunulo, tak ho upravíme, aby sedělo do výřezu.

A jak, že to funguje? Jak jsme upravili pozici modrého kolečka, upravili jsme takzvaný pivot spritu. Pivot je bod, za který je sprite "přišpendlený", když jej transformujeme (např. rotujeme nebo škálujeme). Můžeme nepřesně říci, že je to takový "střed" spritu. Když sprite např. rotujeme, otáčí se v pivotu, jako bychom jej na tom místě měli připevněný. Možnost nastavit pivot je důležitá, často totiž neleží střed transformací ve středu obrázku.

Pokud máme pivota na středu a změníme scale spritu, tak se zmenšený sprite zarovná na střed a bude to vypadat, jako by zdraví ubylo po obou stranách. Pokud pivot dáme úplně na levou stranu, bude sprite přichycen vždy na kraji a zdraví se tedy bude roztahovat jen doprava.

Testování

Když hru nyní spustíme a zraníme se, vidíme, jak se nám sprite zkracuje do jedné strany. Hezké, efektivní a přitom tak snadné, že se to obešlo i bez programování. Vše jsme již naprogramované měli, jen jsme museli změnit pivot obrázku.

To je pro tuto lekci vše, byla kratičká, ale před další si musíme odpočinout, čeká nás totiž animování.

V příští lekci, Unity (C#) Android - Animace draka, upravíme hráče a vytvoříme pro draka animace.


 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 317x (63.76 kB)

 

Předchozí článek
Unity (C#) Android - Healthbar 1
Všechny články v sekci
Tvorba 2D arkády pro Android v Unity
Přeskočit článek
(nedoporučujeme)
Unity (C#) Android - Animace draka
Článek pro vás napsal Jan Kubice
Avatar
Uživatelské hodnocení:
2 hlasů
Aktivity