![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2005
Адрес: 2000 км от Москвы
Сообщений: 23
|
Что было: в _root грузился некий mc.swf, при наведении на который он вызывал в _root txt.swf, в котором было организовано текстовое поле и загружена в это поле переменная. В _root был контейнер под txt.swf. Работало.
Что надо: получить в _root txt.swf с обработанным текстом. Что есть: не грузится уже отформатированный текст, хотя в самом txt.swf все нормально. В txt.swf на загрузку и форматирование применен обработчик onData. В рут переменная поступает, но не отображается. Если onData убрать, то текстовое поле отображается, но не форматированным.
__________________
undefined мое второе имя :о( |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
слишком запутанное описание.
лучше покажи код... не понятно, что значит "не грузится отформатированный текст". если переменная в рут передается, то как она "не отображается". |
|
|||||
|
Регистрация: Jul 2005
Адрес: 2000 км от Москвы
Сообщений: 23
|
код в запускаемом run.swf
createEmptyMovieClip("con", 2); //грузим swf при наведении на которую загружается ld.swf в run.swf
con._x = 720;
con._y = 150;
con.loadMovie("p.swf");
createEmptyMovieClip("fon", 16);//место под ld.swf
fon._x = 40;
fon._y = 160;
код ld.swf this.onData = function(){
loadVariables("1.txt", this);
this.createTextField("tf", 0, 0, 0, 230, 420);
tf.multiline = true;
tf.wordWrap = true;
tf.variable = "textfriend";
var myformat:TextFormat = new TextFormat();
myformat.font = "Arial
myformat.size = 12;
myformat.color = 0x00AA00;
tf.setTextFormat(myformat);
};
Пробовал делать функцию в ld.swf глобальной и вызывать ее в run. но окончательно запутался Может подскажете работоспособный способ? Тут советует товарищ onLoadInit попробовать... что скажете?
__________________
undefined мое второе имя :о( |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
во-первых, мне кажется, у тебя система какая-то чересчур запутанная. все грузят что-то свое в разные клипы в разных свфках... мало того, какой-то клип в недрах грузит еще какие-то переменные. лучше организовать всё это проще: по крайней мере, чтобы загрузкой всего управляла одна свфка.
но если всё оставить как есть... - вызвал загрузку - файл загрузился - сработал код его первого кадра именно в таком порядке. заметь, код первого кадра срабатывает ПОСЛЕ окончания загрузки. поэтому создавать в первом кадре обработчик, который должен сработать при окончании загрузки, бессмысленно... загрузка-то уже завершилась. :) поэтому onData у тебя просто не срабатывает. но даже если бы сработала - это был бы бардак. :) потому что онДата реагирует и на loadMovie и на loadVariables... а ты в самой онДате loadVariables и запускаешь. :) и второй момент - текстформат нужно задавать ПОСЛЕ того, как ты записал в текстовое поле. а ты это делаешь ДО того, как текст попал в текстовое поле (потому что переменные естесственно не грузятся мгновенно). итого: 1. убрать онДату 2. использовать setNewTextFormat() вместо setTextFormat() 3. лучше юзать объект LoadVars вместо loadVariables. например так: var loader = new LoadVars();
loader.onLoad = function()
{
_root.createTextField("tf", 0, 0, 0, 230, 420);
var tf = _root.tf;
tf.multiline = true;
tf.wordWrap = true;
tf.text = this.textfriend;
var myformat:TextFormat = new TextFormat();
myformat.font = "Arial";
myformat.size = 12;
myformat.color = 0x00AA00;
tf.setTextFormat(myformat);
};
loader.load("1.txt");
|
|
|||||
|
Регистрация: Jul 2005
Адрес: 2000 км от Москвы
Сообщений: 23
|
Все работает! Но теперь можно в run изменить код на
т.к. координаты можно задавать в А насчет управления из одной сфв - это у меня пережитки хтмлного прошлого, больше маленьких файликов. Спасибо за идею, попробую...
__________________
undefined мое второе имя :о( |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:12. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|