Форум 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)
-   -   CreateEmptyMovieClip убивает ранее созданый CreateEmptyMovieClip (http://www.flasher.ru/forum/showthread.php?t=111275)

sxstudio 20.04.2008 22:29

CreateEmptyMovieClip убивает ранее созданый CreateEmptyMovieClip
 
Код:

F_createMenu = function () {
        len = menu_xml.childNodes[0].childNodes.length;
        for (var i = 0; i<len; i++) {
                _root.createEmptyMovieClip("btn"+i,i);
                var b = _root["btn"+i];
                b.i = i;
                b.attachMovie("back","back",1);
                b.createTextField("tf",2,0,0,200,20);
                with (b.tf) {
                        border = false;
                        multiline = false;
                        autoSize = true;
                        selectable = false;
                        text = menu_xml.childNodes[0].childNodes[i].attributes.name;
                }
                b.back._width = Stage.width/len;
                b.tf._x = (b.back._width-b.tf._width)/2;
                b._y = b._height*i;
                b.link = menu_xml.childNodes[0].childNodes[i].attributes.link;
                b.sublen = menu_xml.childNodes[0].childNodes[i].childNodes.length;
                var my_color = new Color(b.back);
                my_color.setRGB(menu_xml.childNodes[0].childNodes[i].attributes.color);
                b.onRollOver = function() {
                        for (var j = 0; j<this.sublen; j++) {
                        this.nod = menu_xml.childNodes[0].childNodes[this.i].childNodes[j];
                                //j == 0 ? trace("-----------------") : null;
                                //trace(j+" : "+this.nod.attributes.name);
                                _root.createTextField("tfield"+j,j+45,0,0,200,20);
                                _root["tfield"+j]._x = 270;
                                _root["tfield"+j]._y = 20*j;
                                _root["tfield"+j].text = this.nod.attributes.name;
                        }
                };
        }
};

Если к j не плюсовать 45, то btn+i стираются.. Почему на одном слое не может существовать при таком раскладе 2 обьекта и более? Или может кто-то иначе бы написал?

О том что это такое и где лежит аттач написано тут
Спасибо

iNils 20.04.2008 22:40

Это не слой, а глубина. На одной глубине может существовать только один объект.

sxstudio 20.04.2008 23:23

понял. спасибо, А если имеем 2 обьекта на разных глубинах, то у кажого из обьектов свооя глубина, или глубина это нечто общее для всего мувика

iNils 20.04.2008 23:31

Внутри каждого клипа, система отсчета глубин своя.


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

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