Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   проблема с createEmptyMovie (http://www.flasher.ru/forum/showthread.php?t=112979)

Riant 14.06.2008 19:46

проблема с createEmptyMovie
 
вот код:

Код:

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, для оформления своего кода надо использовать теги [code][/code].

Riant 14.06.2008 22:33

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

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

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

iNils 14.06.2008 22:39

Riant, надо использовать кнопку http://www.flasher.ru/forum/images/r...ttons/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() - тогда оно сначала вернёт ноль (или чо там будет), а вторым делом вернёт следующую глубину.


Часовой пояс GMT +4, время: 20:12.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.