17. díl - Unity (C#) Android: Nové UI

C# .NET Unity 3D Unity (C#) Android: Nové UI

Tento videotutoriál navazuje na předchozí díl o programování her pro Android v Unity, kde jsem se zabýval možností pozastavit hru.

V dnešním dílu bych rád ukázal nějaké základní možnosti nového UI, který přišel s Unity 4.6. Jako další fičura přichází otázka, jestli chcete hru opravdu vypnout.

Video

ReactionScript

Reakce byly změněny na public, aby mohly být nastaveny v inspektoru jako metody, které se zavolají při kliknutí na tlačítko

using UnityEngine;
using System.Collections;

public class ReactionScript : MonoBehaviour {

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

    public void ClickedSurvival()
    {
        //print("clicked survival");
        Application.LoadLevel("default_Scene");
    }

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

}

PanelMananager

Třída slouží jako přepínač mezi panely.

using UnityEngine;
using System.Collections;

public class PanelManager : MonoBehaviour
{


    public GameObject[] panels;

    private int currentPanelIndex;

        // Use this for initialization
        void Start ()
        {
            currentPanelIndex = 0;
        }

    public void ChangePanel(int panelIndex)
    {
        panels[currentPanelIndex].SetActive(false);
        currentPanelIndex = panelIndex;
        panels[currentPanelIndex].SetActive(true);
    }
}

Jak hra vypadá nyní?

Hra v C# .NET Unity 3D

Problémy?

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


 

  Aktivity (1)

Článek pro vás napsal vratislavino
Avatar
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.

Jak se ti líbí článek?
Celkem (1 hlasů) :
4444 4


 


Miniatura
Předchozí článek
Unity (C#) Android: Pauza
Miniatura
Všechny články v sekci
Programování her v Unity3D v C# .NET
Miniatura
Následující článek
Unity (C#) Android: Nové UI FIX

 

 

Komentáře

Avatar
tomasd49
Redaktor
Avatar
tomasd49:

Zajímalo by mě, jestli je podle zásad OOP správné přiřazovat skripty, které reagují na stisk tlačítka přímo ke gameObjectu tlačítka, do Canvasu, nebo popř. do jiného gameObjekctu. Vidím, že ty jsi ve svém tutoriálu použil všechny tři možnosti tak mě to docela zmátlo :)

 
Odpovědět 9.12.2015 17:45
Avatar
vratislavino
Redaktor
Avatar
vratislavino:

Ahoj, musím přiznat, že při práci v Unity často zapomínám na zásady OOP. Tady si to dovolím svalit na poměrně slušné zpracování grafického propojení skriptů v inspektoru.
Je to dané i tím, že když dáš skript na objekt, jeho základní metody ani nevoláš ty, ale stará se o to právě Unity. Možná bych to spíš měl hodit celkově na herní smyčku.
Je to zde postavené spíš na hierarchii objektů ve scéně, než na objektovém návrhu tříd.
To je teda můj názor, klidně se někdo může pokusit mi ho vyvrátit :-)

Odpovědět 10.12.2015 19:19
Hlavou teď neprorazíš, ale stojí za to to zkoušet :)
Avatar
tomasd49
Redaktor
Avatar
Odpovídá na vratislavino
tomasd49:

Já jsem to nakonec taky musel udělat podobně. Mám asi tři skripty mimo Canvas, v objektu Canvas mám skript PanelManager a Button prostě zavolá funkci z toho skriptu, který dokáže nejjednodušeji přistupovat k proměnným, které chci měnit.
Jinak díky za video, moc mi to pomohlo :)

 
Odpovědět  +1 12.12.2015 16:24
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 3 zpráv z 3.