Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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í.

16. diel - Unity (C #) Android: Healthbar 1

V minulej lekcii, Unity (C #) Android - Zafarbenie draka podľa zdravie , sme upravili hráča tak, aby sa drak odfarboval podľa aktuálneho zdravie.

V minulej lekcii, Unity (C #) Android - Zafarbenie draka podľa zdravie , som sa zaoberal malú opravou zasekávanie hráča a nakláňaním hráča pri padaní k zemi.

Video

Úprava PlayerCollisi­onScript

Do tohto skriptu bol pridaný odkaz na HealthScript a odčítanie skóre.

using UnityEngine;
using System.Collections;

public class PlayerCollisionScript : MonoBehaviour {

    public HealthScript healthScript;

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

        healthScript.Hit(20);
    }

}

HealthScript

Skript sa stará o udržanie a zobrazenie aktuálneho života.

using UnityEngine;
using System.Collections;

public class HealthScript : MonoBehaviour {

    int health = 100;
    float initSize;

    bool dead = false;

    // Use this for initialization
    void Start () {
        initSize = transform.localScale.x;
        health = 100;
        RefreshScore();
    }

    public void Hit(int damage)
    {
        if (dead)
            return;


        health -= damage;
        RefreshScore();

        if (health <= 0)
            Die();
    }

    void Die()
    {
        dead = true;
    }

    void OnGUI()
    {
        if(dead)
        {
            if(GUILayout.Button("Restart"))
            {
                Application.LoadLevel(Application.loadedLevel);
            }
        }
    }

    void RefreshScore()
    {
        guiText.text = "Health: " + health;

        Vector3 scale = transform.localScale;
        scale.x = initSize / 100 * health;
        transform.localScale = scale;
    }
}

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 - Nové UI , upravíme healthbar na lepšiu grafiku.

V budúcej lekcii, Unity (C #) Android - Nové UI , sa pozrieme na vytváranie menu, jeho vlastnosti a ďalšie možnosti UI.


 

Predchádzajúci článok
Unity (C #) Android - Zafarbenie draka podľa zdravie
Všetky články v sekcii
Tvorba 2D arkády pre Android v Unity
Preskočiť článok
(neodporúčame)
Unity (C #) Android - Nové UI
Č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