Я так понял, для каждого объекта свой скрипт? Это плохо. Вот так можно вешать один скрипт на все объекты и просто прописывать в инспекторе текст:
Код
var text : String = "";
public var labelText : String = "";
function OnGUI() {
GUI.Label (Rect (140,Screen.height-50,Screen.width-300,120), ""+labelText);
}
function OnTriggerEnter( other : Collider ){
labelText = text;
}
function OnTriggerExit( other : Collider ){
Destroy(gameObject);
}
Добавлено (05 Авг 2013, 12:34)
---------------------------------------------
И всё равно не самое лучшее решение. Если войти в 2 объекта, то 2 текста наложатся друг на друга.
Добавлено (05 Авг 2013, 12:44)
---------------------------------------------
Я бы создал 2 скрипта. В первом выводил бы текст:
Код
static var labelText : String = "";
function OnGUI() {
GUI.Label (Rect (140,Screen.height-50,Screen.width-300,120), ""+labelText);
}
И висел бы он на игроке.
Второй вешал бы на триггеры.
Код
var text : String = "";
function OnTriggerEnter( other : Collider ){
subtitry.labelText = text;
}
function OnTriggerExit( other : Collider ){
subtitry.labelText = "";
Destroy(gameObject);
}
и изменял бы текст.
И даже он не идеален. Мне просто сейчас в голову ничего проще не пришло.Добавлено (05 Авг 2013, 12:46)
---------------------------------------------
Можно ещё сделать базу субтитров в массиве и изменять интекс.