- Home /
health bar
im having trouble with this healthbar script. It wont appear on the game play screen. can someone help.
using UnityEngine;
using System.Collections;
public class playerHealth : MonoBehaviour { public int maxHealth = 100; public int curhealth = 100;
public float healthBarLenght;
// Use this for initialization
void Start () {
heathBarLenght = Screen.width / 2;
}
// Update is called once per frame
void Update () {
AddjustCurrentHealth(0);
}
void OnGUI() {
GUI.Box(new Rect(10, 10, healthBarLenght, 20), curHealth + "/" + maxHealth);
}
public void AddjustCurrentHealth(int adj) {
curHealth == adj;
healthBarLenght = (Screen.width / 2) * (curHealth / (float)maxHealth);
}
}
I see health bar length mispelled in the start function, also, I don't get the addjustCurrenthealth. in the update you use it as AddjustCurrentHealth(0); so you pass 0 that is used for curHealth in healthBarLenght = (Screen.width / 2) * (curHealth / (float)maxHealth); so this is always going to be 0.
Answer by infectedgamer51 · Apr 05, 2012 at 11:13 PM
ok now ive fixed the script and it works except now when the player is hurt the health goes down but the healthbar doesnt shrink like it is supposed to
using UnityEngine;
using System.Collections;
public class playerHealth : MonoBehaviour { public int maxHealth = 100; public int curHealth = 100;
public float healthBarLenght;
// Use this for initialization
void Start () {
healthBarLenght = Screen.width / 2;
}
// Update is called once per frame
void Update () {
}
void OnGUI() {
GUI.Box(new Rect(10, 10, healthBarLenght, 20), curHealth + "/" + maxHealth);
}
public void AddjustCurrentHealth(int adj) {
curHealth = adj;
healthBarLenght = (Screen.width / 2) * (curHealth / (float)maxHealth);
}
}
Where is your health? Is it in another script? If so, make it a static variable. Then call it in your adjustcurrenthell as scriptname.health and remove the curhealth var.
At the moement, you remove the argument of the function so curHealth is not going to change.
Answer by simonmc · Apr 05, 2012 at 09:51 PM
remove the double = in the first line of AddjustCurrentHealth.
it should just be curHealth = adj;
Your answer
![](https://koobas.hobune.stream/wayback/20220613065945im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
How Do I Make A Health Bar 6 Answers
Problem with health bar 1 Answer
Spinning Pointer that reacts when health drops 0 Answers
Health Bar Division like in MOBA 1 Answer
Health Code, Damage and Healing 0 Answers