Unity 3D Game Engine – Text Rotator

How to create an easy to use Text-Rotator using Javascript Arrays

1. MAIN TOP MENU> GameObject> Create Other> GUIText

2. MAIN TOP MENU> GameObject> Create Empty> name it DialogueController, assign DialogueController.JS

DialogueController.JS:


#pragma strict

var character: GUITexture; 	// Assegnare in Inspector
var baloon: GUITexture; 	// Assegnare in Inspector
var baloonText: GUIText; 	// Assegnare in Inspector

    var transitionTime : int = 3; // da Inspector dare il tempo di transizione 
	var i : int = 0; // indice dell'array di frasi
	
	// array di frasi INIZIO #######################
	var sentences = new Array (); 
	sentences[0] = "Statement-1";
	sentences[1] = "Statement-2";
	sentences[2] = "Statement-3";
	sentences[3] = "Statement-4";
	// array di frasi FINE #########################


function Start () {

	// Dimensiono e posiziono gli elementi di interfaccia INIZIO ###############
	// lo faccio da codice per renderli responsivi basandomi sulla risoluzione video
	character.pixelInset = new Rect(0f, 0f, Screen.width/6, Screen.width/6); // la miniatura con la faccia del personaggio è 1/6 della risoluzione
	character.transform.position = Vector3(0, 0, 0); // posiziono la faccia in basso a sinistra
	
    baloon.pixelInset = new Rect(0f, 0f, Screen.width, Screen.width/6); // baloon
	baloon.transform.position = Vector3(0, 0, 0); 
	baloon.color = Color.blue; // colore del baloon
	baloon.color.a = 0.25f; // trasparenza del baloon
	// Dimensiono e posiziono gli elementi di interfaccia FINE #################	
	
}

function BaloonContent(){
	// NB: In anteprima può dare un flickering che scompare con la Build Finale
	baloonText.text = sentences[i].ToString();// scrivi la frase a video, convertire a stringa altrimenti verrà effettuato un - implicit downcast t0 string - con messaggio di avvertimento nella console
	yield WaitForSeconds (transitionTime); // attendi x secondi
	i = 1;
	yield WaitForSeconds (transitionTime);
	i = 2;
	yield WaitForSeconds (transitionTime);
	i = 3; // ultimo indice
}

function Update () {
BaloonContent(); // richiama scrittura testo	   
}// End Update()

4. Hierarchy> DRAG AND DROP GUIText over DialogueController.JS GUIText var

Done!