PDA

Просмотр полной версии : StyleSheet и loadMovie


Бунин
18.04.2007, 20:00
Проблема следующая:
Есть 2 файла swf... Один пустой и содержит только один EmpteeMovieClip...
Во втором файле есть textField с html ... Для него подгружается из
файла style.css некий стиль.
Когда запускаю файл с html textField сам по себе - то все нормально, стили
отображаются корректно, а вот если в первом прописать
someMovieClip.loadMovie("второй файл") то стили не применяються...
В чем проблема?

etc
18.04.2007, 20:06
В том, что вы не умеете формулировать вопросы, приводить код и показывать исходник.
Дежурные гадалки в отпуске.

Бунин
20.04.2007, 12:09
Попробую сформулировать иначе:
Есть в одном swf(например 1.swf) такое дело:

myText:TextField;
myText.html = true;

далее в нем же:

var newStyle = new TextField.StyleSheet();
newStyle.onLoad = function(success){
if(success)
{
myText.styleSheet = newStyle;
}
}
newStyle.load("style.css");

Если просто открыть этот файл то стили для myText применяються
а если в другом файле, в котором есть пустой фильм, например m_mc прописать:

m_mc.loadMovie("1.swf");

то стили из style.css к текстовому полю myText не применяються

etc
20.04.2007, 12:28
Надо добавить после loadMovie строку:

m_mc._lockroot = true;

Не уверен, что поможет, но мало-ли.

Кстати, в первом куске кода ошибка.

Бунин
20.04.2007, 12:37
А какая ?
myText:TextField;
=>
var myText:TextField;
видать не вставилось var....
в мувике такой нету...

m_mc._lockroot = true;
не помогло :(

etc
20.04.2007, 12:53
Тогда показывайте исходник.

Бунин
20.04.2007, 13:00
ок
только он 20 метров,а второй 5 - напряжно по диалапу...
придеться выдрать то что нуно...

etc
20.04.2007, 13:10
Соберите небольшой пример, где проявляется неработоспособность. Если такой пример сделать не получиться, значит ищите ошибку в проекте.

Бунин
21.04.2007, 12:17
Пока клепал пример - нашел ошибку!!!
Надо всего лишь было прописать вместо

_root.createTextField("myText",_depth,_xx,_yy,_width,_height);

прописать

this.createTextField("myText",_depth,_xx,_yy,_width,_height);

Хотя немного непонятна логика наследования _root...
т.е. как я понимаю, если в одном мувике мы динамически создаем
в инстансе _root "что либо", то в этом же мувике мы можем сослаться
на это "что то" и без "_root.что-то", а просто "что-то", но тогда при загрузке этого мувика в другой мы должны предусмотрительно писать
уже не "что-то" а "_root.что-то"...
Непостижимо...
Кто объяснит доходчиво мне эту тонкость...

etc
21.04.2007, 14:01
Нет, _root — это корень. А область видимости клипа с ней не совпадает.