i am trying to make a command where: you press the space bar button and the health bar goes down by 10 health, but i am accessing this health variable from another script.
this time i am having another issue with this code.
during play mode when i pressed the space bar button to lower the health, the health bar doesnt change and this error comes up : NullReferenceException: Object reference not set to an instance of an object
this is my code:
using UnityEngine;
using System.Collections;
public class keyboard : MonoBehaviour {
private healthgui heal;
// Use this for initialization
void awake () {
heal = this.gameObject.GetComponent<healthgui>();
}
// Update is called once per frame
void Update () {
int newHealth;
int gethealth;
if (Input.GetKey(KeyCode.Space)) {
gethealth = heal.health;
newHealth = heal.health - 10;
heal.health = newHealth;
}
}
}
heres my other code just incase
public class healthgui : MonoBehaviour {
//these floats are used to easily configure the GUI Image//
//health image size and positioning floats//
public float guiHealthWidth;
public float guiHealthHeight;
public float guiHealthDistLeft;
public float guiHealthDistTop;
public int health = 100;
public GUIStyle healthbar;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void OnGUI () {
//Displays health Hud//
GUI.Box (new Rect(
(Screen.width/16) * guiHealthDistLeft,
(Screen.height/16) * guiHealthDistTop,
(Screen.width/16) * guiHealthWidth,
(Screen.height/16) * guiHealthHeight),
health.ToString(),healthbar);
}
}