A Script Problem of GUI....

I want to make my main menu like this when the animation is over/or when the specific time is reached, the OnGUI() function is enabled and background got visible…But no errors come up and also the background is displayed before the specific time…
The script is here:

var carBackdrop : Texture2D;//background
private var threeSeconds : float = 3.0;

function Update()
{
var firstMenu : mainMenu = transform.GetComponent(mainMenu);
   if(Time.time < threeSeconds)
      {     
         OnGUI();
        Destroy(gameObject);
       }      
}     

function OnGUI() {
var backgroundStyle : GUIStyle = new GUIStyle();
backgroundStyle.normal.background = carBackdrop;
GUI.Label ( Rect( (Screen.width - (Screen.height * 2)) * 0.75, 0, Screen.height * 2,
Screen.height), "", backgroundStyle);
}

I am sure someone can help…And thanx in advance…

You don’t call OnGUI from Update it is called all the time by Unity.

Your code at the moment is using Time.time - which is time since the game started so within the first 3 seconds your object is destroyed - I can’t believe you want to do that.

You need to put a time check inside OnGUI and just return if the time is outside the range you want. You might use your Update to just add Time.deltaTime onto a variable to count the amount of elapsed time:

var timeElapsed = 0.0;

function Update();
{
     timeElapsed += Time.deltaTime;
}

function OnGUI()
{
      if(timeElapsed < 3)
           return;
     //Put your display code here
}