- Home /
Time Score?
Okay, this is the only thing that is hindering the completion of my game. I have a timer script:
#pragma strict
private var startTime : float;
var textTime : String;
//First define two variables. One private and one public variable. Set the first variable to be a float.
//Use for textTime a string.
function Start() {
startTime = Time.time;
}
function OnGUI () {
var guiTime = Time.time - startTime;
//The gui-Time is the difference between the actual time and the start time.
var minutes : int = guiTime / 60; //Divide the guiTime by sixty to get the minutes.
var seconds : int = guiTime % 60;//Use the euclidean division for the seconds.
var fraction : int = (guiTime * 100) % 100;
textTime = String.Format ("{0:00}:{1:00}:{2:00}", minutes, seconds, fraction);
//text.Time is the time that will be displayed.
GetComponent(GUIText).text = textTime;
}
var bestScore = 0;
var playerTime = 0;
//When the race is completed;
bestScore = playerTime;
//Reset playerTime to zero
//Display the best score(Score to beat)
//If the next drivers playerTime is higher than the previous bestScore
if(playerTime > bestScore){
//Display the new best score.
//Reset playerTime to zero
}
The player's job in my game is to tap each of the spawning stars to destroy them, and if they let one pass a certain point they lose the game. The Timer is there to basically see how long each player can last.
I've tried, but I cannot seem to save the timer score and display on the GameOver Scene. How do I go about this? Could you please explain in a step by step way.
Answer by IvovdMarel · Jun 10, 2014 at 05:49 AM
When you change scenes, all old objects of your scene will be destroyed. In order to keep your objects or scripts, you will have to use a DontDestroyOnLoad - method in your class.
http://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html
The data that you store in that class, can be accessed from another class. The easiest way to do this, is by creating a public static variable.
Create PersistentGameData.js
Add the script to an empty gameobject
Add DontDestroyOnLoad in the Awake method
Create a public static var gameScore.
Set it by using PersistentGameData.gameScore = bestScore
You can now access this variable anywhere, anytime, even after the scene changed.
Good luck!
Your answer
Follow this Question
Related Questions
Timer Score display on Game Over Scene? 1 Answer
Loading a score on a scene 2 Answers
Score and Level Loading 1 Answer
Get score in areas 0 Answers