PDA

Просмотр полной версии : проблема с createEmptyMovie


Riant
14.06.2008, 19:46
вот код:

mc.createEmptyMovieClip("mc1", this.getNextHighestDepth());
mc.mc1.createTextField("text1",this.getNextHighestDepth(),0,0,176,200);
mc.mc1.text1.text = "Hello";

mc.createEmptyMovieClip("mc2", this.getNextHighestDepth());
mc.mc2.createTextField("text2",this.getNextHighestDepth(),0,220,176,200);
mc.mc2.text2.text = "Hello 2";
на сцене у меня пустой клип mc. Мне нужно в нем создать 2 новых клипа, в которых есть какие-нить надписи.

проблема в следующем:
когда компилирую только первые три строки, то все нормально отображается. Но когда компилирую весь код, отображается тока второй мувик, т.е. текст "Hello 2". Как это исправить? Заранее спасибо!

Kuruki
14.06.2008, 19:57
Они у вас друг на друга накладываются. Текст почти одинаковый, поэтому вы этого не замечаете. Измените координаты одного из них.
Да, у вас еще лишний пробел в getNextHighestDepth().

iNils
14.06.2008, 22:12
Riant, для оформления своего кода надо использовать теги .

Riant
14.06.2008, 22:33
ааа, теперь все понял, спасибо
тока где лишний пробел, нету ведь там пробелов

координаты текста разные кстати

но я так понял надо разные координаты мувикам давать, да
спасибо в общем

iNils
14.06.2008, 22:39
Riant, надо использовать кнопку http://www.flasher.ru/forum/images/russian/style3/buttons/edit.gif, а не создавать несколько сообщений подряд.

Maxio
09.07.2008, 16:13
А вот и в чём секрет - они грузятся на одну и ту же глубину и поэтому второй запарывает первый. Итак, вот этот mc лежит, допустим, в руте, на нулевой глубине.

mc.createEmptyMovieClip("mc1", this.getNextHighestDepth());

this.getNextHighestDepth возвращает 1. Он смотрит минимальную свободную глубину именно в руте, так как обращение к нему через this. В итоге у нас в клипе mc на глубине 1 создался клип mc1.
Дальше:

mc.createEmptyMovieClip("mc2", this.getNextHighestDepth());

а вот и секрет - мы опять берём следующую глубину из Рута, но в рут-то мы ничего не создали (создали внутрь mc), поэтому вернётся значение опять 1, и mc2 создастся внутри mc на глубине 1, и заместит собой первый клип.

Чтобы это пофиксить, пиши вместо this.getNextHighestDepth вот такое mc.getNextHighestDepth() - тогда оно сначала вернёт ноль (или чо там будет), а вторым делом вернёт следующую глубину.