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í.

Lekce 12 - Unity (C#) Android: Healthbar 1

V minulé lekci, Unity (C#) Android: Oprava sekání, naklánění, jsem se zabýval malou opravou zasekávání hráče a nakláněním hráče při padání k zemi.

Video

Úprava PlayerCollisi­onScript

Do tohoto skriptu byl přidán odkaz na HealthScript a odečítání 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 se stará o udržení a zobrazení aktuálního ž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;
    }
}

Jak hra vypadá teď?

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: Healthbar 2, upravíme healthbar na lepší grafiku.


 

Předchozí článek
Unity (C#) Android: Oprava sekání, naklánění
Všechny články v sekci
Zdrojákoviště Unity - 2D hry
Přeskočit článek
(nedoporučujeme)
Unity (C#) Android: Healthbar 2
Článek pro vás napsal vratislavino
Avatar
Uživatelské hodnocení:
3 hlasů
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