Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   array (http://www.flasher.ru/forum/showthread.php?t=22895)

RRR 12.11.2001 17:47

array
 
Вложений: 1
Копаю array, и натолкнулся на такое -> плз. см. прим.
Если ремовить 1-ым вариантом - все ОК, а после 2-го дублицирование происходит с др. координатами :confused:
А если открыть ролик по новой и сразу запустить 2-е ремув, появляется какой-то новый инстанс :eek: Как это понимать?

gOloVasTicK '~ 12.11.2001 18:00

Все происходит из-за того что имя переменной-итератора у тебя совпадает с именем мува. Измени имя переменной и все будет пахать :)

Код:

on (release) {
        for (ppp in _root) {
                if (typeof (_root[ppp]) == "movieclip") {
                        _root[ppp].removeMovieClip();
                }
        }
}


RRR 12.11.2001 18:16

Сэнкс, понял вот что:
получается, что for (ppp in _root) создает как-бы временный массив из всего, что валяется в рооте, и использует его только для выполнения текущего цикла, и его имя не должно совпадать ни скаким существующим в рооте, а то получится как в примере?

gOloVasTicK '~ 12.11.2001 18:23

Эт Жавовская функция :)
Чем то сваливает на foreach(%hach){} Перловский.
То есть при каждой итерации в ррр у тебя кладется ссылка на очередной эл-т/св-во. И через эту ссылку ты с объектом и работаешь в теле цикла. Правда через for in низя лапать _x _y для мувика, ну и еще парочка ограничений.

RRR 12.11.2001 18:58

Ок, вроде понятно, и за другой топик - сэнкс :)
Да не замерзнут твои Болота!

gOloVasTicK '~ 12.11.2001 19:15

Издеваешься? :D
У нас уже снег идет. Даже пиво пить не охота :(

RRR 12.11.2001 19:23

:D
Уж лучше снег, чем проливные дожди с микро-ураганом (эт когда зонтик даже нестОит брать ссобой - снесет за пару секунд :D )
Юзай горячее вино :cool:

RRR 13.11.2001 14:31

Вложений: 1
Сорррри, еще маленькая непонятность. Плз см. прим.
Все пашет, но в именах дуплицатав суются какие-то десятки :confused:
Да оттают все Болота! И у нас тут первая пародия на снег :D .

gOloVasTicK '~ 13.11.2001 15:27

Что ж ты хочешь родной :)
Код:

for (i=10 ; i<a+b; i++) {
        x = pos2[i-10][0];
        y = pos2[i-10][1];
        _root.attachMovie("date", "date"+a+i , a+i);
        eval("date"+a+i)._x = x;
        eval("date"+a+i)._y = y;
        eval("date"+a+i).date.gotoAndStop(1+i);
}

Проверяем значения:
a=10;
i=10, 11, 12, 13, 14;
Причем воспринимаеться эт дело как стринги. Отседа и получаеться: "date"+a+i = "date1011"

Короче просто "date"+i пиши. :)

RRR 13.11.2001 16:40

:confused:
Я так тоже писал, но... А ты попробовал?
И почему переменные стринги? Тут те-же переменные: for(i=10 ; i<a+b; i++) {} И если писАть i=11, один хрен десятки суются. Чет ни то.....

RRR 13.11.2001 16:45

Цитата:

И если писАть i=11, один хрен десятки суются.
Pardon - pogarjachilsja :D .

gOloVasTicK '~ 13.11.2001 17:38

Только что проверил:
Код:

a = pos1.length;
for (i=0; i<a; i++) {
        x = pos1[i][0];
        y = pos1[i][1];
        _root.attachMovie("date", "date"+i, i);
        eval("date"+i)._x = x;
        eval("date"+i)._y = y;
        eval("date"+i).date.gotoAndStop(i+1);
}
// line2 draw
b = pos2.length;
for (i=10; i<a+b; i++) {
        x = pos2[i-10][0];
        y = pos2[i-10][1];
        _root.attachMovie("date", "date"+i, i);
        eval("date"+i)._x = x;
        eval("date"+i)._y = y;
        eval("date"+i).date.gotoAndStop(1+i);
}
// line3 draw
c = pos3.length;
for (i=20; i<a+b+c; i++) {
        x = pos3[i-20][0];
        y = pos3[i-20][1];
        _root.attachMovie("date", "date"+i, i);
        eval("date"+i)._x = x;
        eval("date"+i)._y = y;
        eval("date"+i).date.gotoAndStop(1+i);
}

Прекрасно пашет. Имена в алгебраической последовательности. :)

RRR 13.11.2001 17:47

Мда, значит мой лицензионный просто глюкнул :D, сэнкс.

RRR 15.11.2001 14:30

Пардон, но еще 1 вопрос (или глюк).
Все дупликаты размещаются в _левел0 хотя должно быть _левелi :confused:

RRR 15.11.2001 14:39

Всмысле - дэбагер говорит, что все в _левел0 запихано.
Если в _роот сунуть кнопу _левел0ю_хсцалэ=150, то масштабирует все.
А если в какой нить _левел подгрузить другой мув, он заменяет тот объект который там и должен быть - значит он в своем левеле"i", а не в нулевом, как говорит дэбагер и кнопа на _хсцалэ :confused:

gOloVasTicK '~ 15.11.2001 17:45

Уровни Depth и _level разные вещи. Для каждого мувика есть свои уровни depth. Причем на одном уровне может лежать только один объект.

RRR 15.11.2001 18:14

У-у-у-у-у-у - эт я завыл уже :D
Всю сознательную жизнь свф подгружал в таргет, но вот однажды... час назад... надо грузануть в левел. Картина такая - прелоадер выгружается насильно из левела нуль неуспев ничего прелоадерить, хотя свф гружу в _левел10000 (куда он и загружается) :mad

gOloVasTicK '~ 15.11.2001 18:51

Он не может выгружаться и оставлят мув на _левел1000. Т.к. выгружая _левел0 ты автоматом убиваешь ВСЕ. Вааааще все :) На нем все держится. Пуп Земли в некотором роде :D

RRR 15.11.2001 19:07

Блин, закон подлости. Как тока тебя лишний раз дернул от гос.важн. дел, так и прозрел сам. Про пупы я знаю. Просто путь на гетБайтес не тот был, и он, несчастный, испарялся ненаходя своих байтов. :D Запарился совсем, мозгА глючит. С меня пиво :cool:

gOloVasTicK '~ 15.11.2001 19:38

Обзательно :)


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

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