Car text trigger

Hello all,

I’m making an horror game.

I’d like an script on a car that if you press “E” an text appear.

And after press "E "again the text dissapears…

Some1 can help me?

Regards,

Melchet

Maybe try a script with something like this:

        bool textShowing = false;

        void Update ()
        {
                if (Input.GetKeyDown (KeyCode.E))
                        textShowing = !textShowing;
        }

        void OnGUI ()
        {
                if (!textShowing)
                        return;

                GUIStyle style = new GUIStyle ();
                style.fontSize = 130;
                style.normal.textColor = Color.white;
                GUI.Label (new Rect (10, 10, 100, 20), "Hello World!", style);
        }

I get 4 errors:

Error line 14 and 17

What do the errors say?

Here I taken an screenshot from it

I want put the script on this car

the errors

I think there are two issues.

One issue is that I think it is a problem to put a space in the name of a Unity script. So, you should change “car text” to “cartext” or something without a space.

Also, here is some code that assumes you have named your script “cartext”:

using UnityEngine;
using System.Collections;

public class cartext : MonoBehaviour
{
        bool textShowing = false;

        void Update ()
        {
                if (Input.GetKeyDown (KeyCode.E))
                        textShowing = !textShowing;
        }
   
        void OnGUI ()
        {
                if (!textShowing)
                        return;
       
                GUIStyle style = new GUIStyle ();
                style.fontSize = 130;
                style.normal.textColor = Color.white;
                GUI.Label (new Rect (10, 10, 100, 20), "Hello World!", style);
        }
}

The code I gave you before was a snippet and wasn’t intended to occupy the whole file.

Hello boolfone,

the script worked.

But now I got the problem if I press the 'E ’ key the text shows anywhere…

I have putted the script on the car itself

You can move the text by setting the first two parameters to the Rect constructor in this line:

GUI.Label (new Rect (10, 10, 100, 20), “Hello World!”, style);

Also, if you want, you can use this script:

using UnityEngine;
using System.Collections;

public class cartext : MonoBehaviour
{
        bool textShowing = false;
        public float x;
        public float y;

        void Update ()
        {
                if (Input.GetKeyDown (KeyCode.E))
                        textShowing = !textShowing;
        }
 
        void OnGUI ()
        {
                if (!textShowing)
                        return;
     
                GUIStyle style = new GUIStyle ();
                style.fontSize = 130;
                style.normal.textColor = Color.white;
                GUI.Label (new Rect (x, y, 100, 20), "Hello World!", style);
        }
}

Then you can adjust the x and y position for the text like so:

Thx for the video.

but that isn’t actualy the answer on my question:).

the problem is the text what belong with the car gonna show up everywhere when I press the 'E"button.

It only needs to be showing at the car.

You can decrease the font size by modifying this line:

style.fontSize=130;

Let me explain better,

This picture is the good position when I pressing ‘E’.

Now the girl stances to the car

This picture is the bad one, here I press ‘E’ too but without the car. I need the text only shown up at the car as the picture above.

How do I make that possible?