- Home /
How to make a GLOBAL variable in javascript (Unity)
Ok so I am trying to make a GUI appear as a component of the First Person Controller but the "if" command that activates the GUI is testing for a variable (component) of a cube(the variable is named health). If you click on the cube the health goes down 1. If "health" == 0 then the cube destroys. The GUI that appears is a restart button so the scene will reset and the cube will come back so you can destroy it again. The health variable starts at 3 and if it gets < 3 then the GUI activates. How do you make it so that the GUI will activate if health just doesn't exist due to it getting destroyed from you clicking it and how do you make it so that the health variable is a global variable? This is my line of code that declares the health variable:
public static var health = 3;
That is how I read you are supposed to make global variables but i can't reference to it in \\/ this \\/ script which makes the GUI in the bottom left corner when "health" < 3:
public static var health;
function onGUI () {
if (health > 3){
if(GUI.Button(Rect(Screen.width-100,Screen.height-100, 100,50),"Restart Level")){
Application.LoadLevel(0);
}
}
}
Are you supposed to declare "health" again? is my GUI fine? Please answer all questions in this. THANK YOU!
I'd create a Global.cs
assign it to an empty in the world, containing;
(1) public static var health : int = 3;
then accessing it from other script as if(Globals.health < 3) //Do things,
(2) use Object.DontDestroyOnLoad()
Once you declare it in Globals.cs you don't need to declare the variable again.
Your answer
Follow this Question
Related Questions
How do you achieve variables and functions that are global between scenes? What is the BEST way? 1 Answer
Variable Not Changing. 0 Answers
Global variables - static keyword ? UnityScript? javascript? 1 Answer
Is there any way to edit variables inside other scripts without declaring them as static? 1 Answer