Форум 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)
-   -   проблема с for (http://www.flasher.ru/forum/showthread.php?t=100318)

dirz 24.08.2007 14:21

проблема с for
 
Здравствуйте, столкнулся с такой проблемой - почему-то в функции Func_newd, вызываемой из другой функции, при цикле for..у меня создается только 1 муви, с последним значением переменной из списка. Не понимаю...Func_data является идентичной и работает - выводит последовательно приаттаченные копии мувика с необходимой переменной, образуя список. :confused:
Помогите пожалуйста, сроки горят :wacko:
Код:

ParseCat = function(parse_pn:Number, parse_child, pn:Number, bout) {
        if (parse_pn == 0) {
                atext.text = parse_child.attributes.atext;
        } else {
                newd = parse_child.childNodes;
                nname = parse_child.nodeName;
                Func_newd(newd, nname, pn, bout);
        }
};
Func_newd = function (newd, nname, pn, bout) {
        for (var i = 0; i<newd.length; i++) {
                _root.createEmptyMovieClip("elem"+nname+i, 50);
                var cn = _root["elem"+nname+i];
                by = bout._y+bout.node._y;
                bx = bout._x+bout.node._x+100;
                cn.attachMovie("node", "node", 50, {_x:bx, _y:by});
                with (cn.node) {
                        trace ("cn"+i+" = "+cn);
                        ntxt.text = i + " " + newd[i].attributes.nick;
                }
                cn.onPress = function() {
                        bout = this;
                        pn = String(this).substr(String(this).length-1,1);
                        parse_child = parse_child.childNodes[pn];
                        parse_pn = parse_child.childNodes.length;
                        ParseCat (parse_pn, parse_child, pn, bout);
                }
                //cn.node._y = cn.node._y + 17;
                if (i == newd.length-1) {
                        for (var i = 0; i<newd.length; i++) {
                        var cn = _root["elem"+nname+i];
                        cn.node._y = _root["elem"+nname+(i-1)]._y+17;
                        }
                }
        }
};
Func_data = function () {       
        n = admin_xml.childNodes.length;
        for (var i = 0; i<n; i++) {
                _root.createEmptyMovieClip("elem"+i, i);
                var cat = _root["elem"+i];
                cat.attachMovie("node", "node", i, {_x:42, _y:105});
                with (cat.node) {
                        ntxt.text = i + " " + admin_xml.childNodes[i].nodeName;
                }
                cat.onPress = function() {
                        bout = this;
                        pn = String(this).substr(12,2);
                        parse_child = admin_xml.childNodes[pn];
                        parse_pn = parse_child.childNodes.length;
                        ParseCat (parse_pn, parse_child, pn, bout);
                }
                if (i == n-1) {
                        for (var i = 0; i<n; i++) {
                var cat = _root["elem"+i];
                cat._y = _root["elem"+(i-1)]._y+17;
                        }
                }
        }
};


Kiriton 24.08.2007 16:04

все на одну глубину суются
Цитата:

_root.createEmptyMovieClip("elem"+nname+i, 50);

dirz 24.08.2007 17:37

спасибо, пока flasher.ru был недоступен, сам разобрался :) фух...


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

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