So I’m using this script that types text automatically letter by letter. The problem is, I’ve set the GUI box to 640 x 480, but the text goes outside of that box instead of going to another line when it’s at the end.
Does anyone know what’s causing that?
using UnityEngine;
using System.Collections;
public class mainText : MonoBehaviour
{
public float letterPause = 0.05f;
public AudioClip sound;
public GUIStyle font;
string message;
string text;
void Start ()
{
message = "Welcome new warrior! This is a blue screen, you must fight your way out! " +
"Without any hands or other parts. This may take some time...";
text = "";
StartCoroutine(TypeText());
}
IEnumerator TypeText ()
{
foreach (char letter in message.ToCharArray())
{
text += letter;
if (sound)
audio.PlayOneShot (sound);
yield return 0;
yield return new WaitForSeconds (letterPause);
}
}
void OnGUI()
{
GUI.Box(new Rect(Screen.width / 2 - 320, Screen.height / 2 - 240, 640, 480), text, font);
}
void Update()
{
if(Input.GetKeyDown (KeyCode.Return))
{
StopAllCoroutines();
text = message;
}
}
}