- Home /
Question by
Hathi28 · Jul 08, 2013 at 03:56 PM ·
timertimer-script
How can I add a timer that will start when the game starts and stop when the game ends and records it?
How can I add a timer where when the player starts the game, the timer starts and when the player finishes the game, the timer stops? Then it records it in the statistics page?
Here's a timer code: #pragma strict
private var startTime : float;
var textTime : String;
function OnGUI () {
var guiTime = Time.time - startTime;
var hours : int = guiTime / 3600;
var minutes : int = guiTime / 60;
var seconds : int = guiTime % 60;
var fraction : int = (guiTime * 100) % 100;
GUI.contentColor = Color.black;
GUI.backgroundColor = Color.black;
textTime = String.Format ("{0:00}:{1:00}:{2:00}:{3:00}", hours, minutes, seconds, fraction);
GetComponent(GUIText).text = textTime;
}
I want it to go under the "Last Playthrough Time = " in this code:
function OnGUI() {
//Font Size and Color Change
var buttonStyle = new GUIStyle("Button");
buttonStyle.fontSize = 17.5;
var statsStyle = new GUIStyle("Label");
statsStyle.fontSize = 30;
var otherStyle = new GUIStyle("Label");
otherStyle.fontSize = 30;
var ostStyle = new GUIStyle("Label");
ostStyle.fontSize = 20;
GUI.contentColor = Color.black;
GUI.backgroundColor = Color.white;
//Statistics Title GUI Design
GUI.contentColor = Color.white;
GUI.backgroundColor = Color.green;
GUI.Label(Rect(450,125,250,100), "Statistics",statsStyle);
GUI.Label(Rect(477,160,250,100), "Other",ostStyle);
//Other GUI Designs
GUI.Label(Rect(175,250,300,300), "Total Time Played = ",otherStyle);
GUI.Label(Rect(175,305,350,300), "Last Playthrough Time = ",otherStyle);
if(GUI.Button(Rect(725,125,150,30), "Previous Page",buttonStyle)) {
Application.LoadLevel("Statistics2");
}
if(GUI.Button(Rect(125,125,150,30), "Back to Menu",buttonStyle)) {
Application.LoadLevel("Menu");
}
}
Comment
Answer by tw1st3d · Jul 08, 2013 at 04:01 PM
Sounds like you want a Stopwatch.
using System;
using System.Diagnostics;
using System.Threading;
public class Timer
{
protected Stopwatch timer = new Stopwatch();
protected TimeSpan time = null;
void Start()
{
timer.Start();
}
void OnApplicationQuit()
{
timer.Stop();
time = timer.Elapsed;
Debug.log(time);
}
}
Is that in Javascript? If not, can you put in Javascript?