12. díl - Unity (C#) Android: Healthbar 1

C# .NET Unity 3D Unity (C#) Android: Healthbar 1

Tento videotutoriál navazuje na předchozí díl o programování her pro Android v Unity, kde 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ď?

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 (3 hlasů) :
4.666674.666674.666674.666674.66667


 



 

 

Komentáře

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.

Zatím nikdo nevložil komentář - buď první!