Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

12. diel - Unity (C #) Android: MenuPart, Eraser, pozadia 2

V minulej lekcii, Unity (C #) Android: Vylepšenia pohybu nakláňaním , sme urobili drobnú opravu sekanie a ďalej vylepšili pohyb postavy hráčov.

V minulej lekcii, Unity (C #) Android: Vylepšenia pohybu nakláňaním , som nazbieral nejaké resty, ktoré sú v tomto videu riešené. Konkrétne sa jedná o ničenia Stalag a následné vytváranie efektu ničenia, vytvorenie 2 skúšobných levelov do módu arcade a prepínanie medzi nimi.

Video

Skript pre ukončenie hry

Tento skript reaguje na prelet hráča koncovým objektom levelu

using UnityEngine;
using System.Collections;

public class EndScript : MonoBehaviour {

    bool isEnd = false;

    void OnTriggerEnter2D(Collider2D col)
    {
        if(col.CompareTag("Player"))
        {
            isEnd = true;
            Time.timeScale = 0;
        }
    }

    void OnGUI()
    {
        if(isEnd)
        {
            if(GUILayout.Button("Menu"))
            {
                Time.timeScale = 1;
                Application.LoadLevel("menu_1");
            }

            if (GUILayout.Button("Next level"))
            {

                Time.timeScale = 1;
                string currLevelId = Application.loadedLevelName;
                currLevelId = Application.loadedLevelName.Substring(currLevelId.Length - 1);

                print("Aktualni level: " + currLevelId);

                int currLevelInt = int.Parse(currLevelId);
                currLevelInt++;

                string newLevelName = "Level0" + currLevelInt;

                Application.LoadLevel(newLevelName);

            }

            if (GUILayout.Button("Restart"))
            {

                Time.timeScale = 1;
                Application.LoadLevel(Application.loadedLevelName);
            }

        }
    }

}

Detekcia hráčove kolízie

using UnityEngine;
using System.Collections;

public class PlayerCollisionScript : MonoBehaviour {

    void OnCollisionEnter2D(Collision2D col)
    {
        if(col.collider.CompareTag("Stalag"))
        {
            GameObject stalag = col.collider.gameObject;
            stalag.SendMessage("React");
        }
    }

}

Reakcia Stalag na hráčovu kolízii

using UnityEngine;
using System.Collections;

public class StalagScript : MonoBehaviour {

    public GameObject parts;

    void React()
    {
        print("destroyed");

        Destroy(Instantiate(parts, transform.position, Quaternion.identity), 2);



        Destroy(gameObject);
    }

}

Ako hra vyzerá teraz?

Tvorba 2D arkády pre Android v Unity

Problémy?

Ak máte nejaké otázky, neváhajte sa opýtať v komentároch, alebo mi napísať do správ.

V budúcej lekcii, Unity (C #) Android - Healthbar 2 , pridáme novú grafiku a prerobíme vrstvy a kolízie.

V budúcej lekcii, Unity (C #) Android - Healthbar 2 , sa budeme venovať vylepšenia healthbaru.


 

Predchádzajúci článok
Unity (C #) Android: Vylepšenia pohybu nakláňaním
Všetky články v sekcii
Tvorba 2D arkády pre Android v Unity
Preskočiť článok
(neodporúčame)
Unity (C #) Android - Healthbar 2
Článok pre vás napísal vratislavino
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
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