IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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

V minulé lekci, Unity (C#) Android: Nové UI FIX, jsem se zabýval vytvořením menu nejnovějším způsobem a opravou.

Dnešní tutoriál se bude zabývat problémem, který měl jeden z diváků. Když spustíte level (scénu) na mobilním zařízení, je znatelné seknutí, než se level opravdu spustí. Je to proto, že načítání nového levelu začne po kliknutí na tlačítko Survival a celý program čeká, až se herní scéna zcela načte. Proto jsem vytvořil tento tutoriál o asynchronním načítání scény, díky němuž hra plynule pokračuje a zobrazuje se kolik procent herního levelu bylo již načteno, dokud se opravdu nespustí.

Video

ReactionScript

Upravený reaction script:

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class ReactionScript : MonoBehaviour
{
    public GameObject loadingLevelPanel;

    private void ClickedArcade()
    {
        print("clicked Arcade");
    }

    public void ClickedSurvival()
    {
        //print("clicked survival");
        StartCoroutine(LoadLevel());
    }

    private IEnumerator LoadLevel()
    {
        AsyncOperation async = Application.LoadLevelAsync("default_Scene");
        loadingLevelPanel.SetActive(true);
        Text percentText = loadingLevelPanel.GetComponentInChildren<Text>();

        while (!async.isDone)
        {
            percentText.text = (async.progress * 100).ToString("N2") + "%";
            yield return null;
        }
    }

    public void ClickedExit()
    {
        Application.Quit();
    }

}

Jak hra vypadá nyní?

Hra v C# .NET Unity 3D - Zdrojákoviště Unity - 2D hry

Problémy?

Pokud máte nějaké otázky, neváhejte se zeptat v komentářích nebo mi napsat do zpráv.

V příští lekci, Unity (C#) Android: Plivání ohně, se budeme zabývat možností, že by drak mohl plivat oheň.


 

Předchozí článek
Unity (C#) Android: Nové UI FIX
Všechny články v sekci
Zdrojákoviště Unity - 2D hry
Přeskočit článek
(nedoporučujeme)
Unity (C#) Android: Plivání ohně
Článek pro vás napsal vratislavino
Avatar
Uživatelské hodnocení:
Ještě nikdo nehodnotil, buď první!
Autor se věnuje programování v C#, především pak ve vývojovém prostředí Unity3D. Má asi pětileté zkušenosti s programováním a momentálně pracuje na připravované hře Azulgar: Beyond The Frontiers.
Aktivity