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 PlayerCollisionScript
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?
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.