- Home /
Race timer needs to stop on trigger. Help
So I've tried multiple ways on creating a timer and making it so that it stops when I cross the finishline. But I have not gotten the trigger part to work. Can you guys help? Here is the script done in JavaScript.
#pragma strict
private var startTime : float;
var textTime : String;
function Start () {
startTime = Time.time;
}
function OnGUI (){
var guiTime = Time.time - startTime;
var minutes : int = guiTime / 60;
var seconds : int = guiTime % 60;
var fraction : int = (guiTime * 100) % 100;
textTime = String.Format ("{0:00}:{1:00}:{2:00}", minutes, seconds, fraction);
GetComponent(GUIText).text = textTime;
}
Where's the script for the "crossing the finishline" action?. What are you using to detect that the player have crossed the finishline?
Answer by spiceboy9994 · May 22, 2015 at 03:00 PM
A single way to achieve this (it's a bit guessing, since I cannot see your finish line code). Could be adding a general crossedtheLine flag, and set the flag to true whenever the player crossed the line. So It could be:
private var crossedTheLine: bool;
function Start () {
startTime = Time.time;
crossedTheLine = false;
}
function OnGUI (){
if (!crossedTheLine)
{
var guiTime = Time.time - startTime;
var minutes : int = guiTime / 60;
var seconds : int = guiTime % 60;
var fraction : int = (guiTime * 100) % 100;
textTime = String.Format ("{0:00}:{1:00}:{2:00}", minutes, seconds, fraction);
GetComponent(GUIText).text = textTime;
}
}
And whenever the player cross the line, set the flag to true. That way the OnGUI code won't run anymore. Remember that you could set the flag to false again to start the counter again whene
Thanks for your help. This is the script on my finishline. It's also made on javascript
var finished : boolean = false;
var timer:GUIText;
function OnTriggerEnter ()
{
Debug.Log("Voitto!");
finished = true;
}
function OnGUI()
{
if (finished)
{
// GUI.Label (Rect (x, y, width, height), "Voitto");
GUI.Label (Rect (Screen.width/2, Screen.height/2, 300, 200), "Voitto!");
}
}
Your answer
![](https://koobas.hobune.stream/wayback/20220613200147im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Restart Level, No restart Timer 1 Answer
How do I stop a timer when a sphere gets to a certain point? 1 Answer
Timed particle system disable 0 Answers
Timer that stops at the end of the game 3 Answers
How to stop a timer with GUI button? 1 Answer