BLACK FRIDAY! Slevy až 80 % jsou všude. Tak je nepropásni a přejdi do rostoucího IT oboru!

Lekce 19 - Unity (C#) Android - Asynchronní načtení scény

V minulé lekci, Unity (C#) Android - Přizpůsobení hry různým rozlišením, jsme přizpůsobili naše UI pro všechna rozlišení a podívali se na další dostupné UI prvky.

V dnešní lekci se budeme soustředit na asynchronní načtení scény.

Motivace

Pokud nyní klikneme v menu například na "Survival Mode", Unity začne scénu načítat až po kliknutí. To na pomalejších počítačích a nebo na telefonech může způsobit zaseknutí. Hráč klikne na "Survival" a zobrazí se mu na chvíli jen černá obrazovka, aniž by vlastně věděl, co se děje. Představme si tuto situaci u složitějších her, kdy začneme hrát a následuje třeba minutové načítání, kde bychom viděli pouze černou obrazovku. Není to moc pěkné a ani příjemné pro uživatele.

Proto zařídíme, aby po kliknutí a načítání mapy nebyla vidět jen černá obrazovka, ale abychom viděli procentuální ukazatel načítání.

Předem malé upozornění. Pravděpodobně si ani nevšimnete rozdílu před a po dnešní lekci. Načítáme totiž velice malý level a pokud nemáte archaický počítač, bude načtený prakticky okamžitě. Jenže ukázat vám takovouto možnost je skoro nutností, protože jistě budete tvořit v budoucnu i složitější hry. Nemohl jsem vás o ni tedy připravit.

Příprava Canvas

Do Canvas si přidáme nový panel z nabídky UI -> Panel a pojmenujeme jej loadLevelPanel. Nastavíme mu černou neprůhlednou barvu. Dále si do tohoto panelu přidáme Text. Zvětšíme ho, nacentrujeme do středu obrazovky a jako text nastavíme 0%. Také si nastavíme barvu na bílou, aby byl vidět:

Tento text nám bude zobrazovat kolik % máme načteno z příslušného levelu. Po dosažení 100% černá obrazovka s načítáním zmizí a pustí nás rovnou do hry.

Skript

Otevřeme si reactionScript, kde


 

...konec náhledu článku...

Prémiový článek

Prémiový článek

Na itnetwork.cz se nachází největší a nejucelenější česká databáze s výukovými články, jejímž cílem je umožnit kvalitní vzdělání v oblasti IT úplně každému. Měsíčně zobrazíme k milionu článků a sklidíme desítky děkovných emailů, kde nám sdělujete, že jsme vám pomohli k lepšímu zaměstnání nebo vzdělání.

Ačkoli se snažíme držet většinu obsahu úplně zadarmo, udržovat síť v provozu a aktuální stojí obrovské úsilí. Proto je nějaký obsah, jako cvičení nebo odbornější články, přístupný pouze za body. Nebojte, nestojí to skoro nic :)

Popis článku

Požadovaný článek má následující obsah:

V tutoriálu se budeme zabývat asynchronním načtením scény naší Android hry v Unity, aby nezpůsobilo zaseknutí hry.

Omezená nabídka: Nauč se vše a ušetři

Koupit lekce a funkce postupně a po jednom 110 bodů
Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za exkluzivní cenu 94 bodů
Na svém účtu máš aktuálně 0 bodů
Koupí tohoto výhodného balíčku získáš přístup ke všem 25 lekcím s kontrolou a certifikací a ještě navíc ušetříš 42 Kč. Nabídka je omezená pouze pro první lekce z kurzu a obsahuje exkluzivní slevu 15%.
94 bodů získáš za přidání svého článku na síť nebo odpovídá 275 Kč 234 Kč

Pozor, pokud si koupíš pouze tento článek, ztratíš nárok na speciální slevu 15% na balíček všech článků.

Pro přístup k článku potřebuješ 10 bodů
Na svém účtu máš aktuálně 0 bodů
10 bodů získáš za přidání svého článku na síť nebo odpovídá 25 Kč

Před koupí tohoto článku je třeba koupit předchozí díl

Koupí článku k němu získáš neomezený přístup a to napořád. Posuneš své znalosti zas kousek dopředu a zároveň nám pomůžeš udržovat celý projekt při životě a pomáhat vám tak k lepší budoucnosti.

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.

Body získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Dobít body můžeš okamžitě např.:

Kartou SMS Převodem
Kartou SMS Převodem
Článek pro vás napsal Jan Kubice
Avatar
Aktivity (3)