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 PlayerCollisionScript
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.
V příští lekci, Unity (C#) Android: Healthbar 2, upravíme healthbar na lepší grafiku.