Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Удалить все клипы (http://www.flasher.ru/forum/showthread.php?t=73949)

Captain Power 07.01.2006 23:35

Удалить все клипы
 
Мужики .. помогите ...

гружу клипы в корень на след. свободный уровень ...
клипы имеют имена g001, g002, g003 и т.д. (клипов ОЧЕНЬ МНОГО)

так вот ... каждый из клипов грузица и несёт в себе кнопку со скриптом ... так вот вопрос:

как мне написать чтобы при нажатии на кнопку внутри клипа с именем скажем g004 он удалял из рута все клипы с именам старше своего ...

ещё раз ...

на сцене есть g001 g002 g003 g004 g005 g006
надо из g003 убить все кроме него самого и тех что младше ...

спасибо ... очень жду ...

Antares 07.01.2006 23:43

Узнать, является ли объект мувиклипом, можно воспользовавшись instanceof. Глубину получить -- с помощью MovieClip.getDepth();

Код:

function removeMovieClipHigher( offset:Number ) : Void
{
        for(var k in _root)
        {
                var isMovieClip:Boolean = _root[k] instanceof MovieClip;       
                if( isMovieClip )
                {
                        if( _root[k].getDepth() > offset )
                                _root[k].removeMovieClip();
                }
        }
}


Captain Power 08.01.2006 06:16

СПАСИБО ...

а как снести все переменные начиная с текущей?

поясняю ... загрузился очередной мувик и принёс с собой переменную (скажем переменную с именем q005) ...

так вот надо чтобы он автоматически при этом удалил все переменней с номерами q006,q007,q008 и т.д. (их очень много но они все пронумерованы таким образом)

спасибо

Antares 08.01.2006 06:37

Самый простой способ удалить переменную -- присвоить ей null. Почти такой же простой -- вспомнить про delete.

Похоже, сам ты не догадаешься...
Код:

for ( var i = 0; i < 100; i++ )
{
    if ( i < 10 ) i = String("0" + i);
    if ( i < 100 ) i = String ("0" + i);
    delete this["q" + i];
}


Captain Power 08.01.2006 06:50

СПАСИБО ещ

Captain Power 08.01.2006 06:52

СПАСИБО ещё раз .. ты так быстро отвечаешь и ... уже ночь ... но этот код подвешивает программу ... чтото гдето нетак :(

я его вставил в функцию кнопки ... чтобы эта операция проходила при нажатии

ja.onRelease = function() {
attachMovie("q006", "q006", 0, {_y:y+30});
_root.q006=1;

for ( var i = 0; i < 100; i++ )
{
if ( i < 10 ) i = String("0" + i);
if ( i < 100 ) i = String ("0" + i);
delete _root["q" + i];
}
};

вот так ... что не так? :) надо убить всё начиная с q007

K.A.T.A.F.A.L.K.E.R 08.01.2006 15:43

Цитата:

Сообщение от Captain Power
if ( i < 10 ) i = String("0" + i);

Туплю или надо все же "00" + i? :rolleyes:

K.A.T.A.F.A.L.K.E.R 08.01.2006 15:45

Цитата:

Сообщение от Captain Power
attachMovie("q006", "q006", 0, {_y:y+30});
_root.q006=1;

Ого... Сильно... :D

Antares 08.01.2006 15:54

Не надо 00 + i, тогда на шаге 27 ты получишь не 027, а 0027. Надо просто не пользоваться одной и той же переменной.

Код:

for ( var i = 0; i < 100; i++ )
{
    if ( i < 10 ) var j = String("0" + i);
    if ( i < 100 ) j = String ("0" + i);
    delete this["q" + j];
}


K.A.T.A.F.A.L.K.E.R 08.01.2006 16:12

Цитата:

Сообщение от Antares
Не надо 00 + i, тогда на шаге 27 ты получишь не 027, а 0027. Надо просто не пользоваться одной и той же переменной.

Код:

for ( var i = 0; i < 100; i++ )
{
    if ( i < 10 ) var j = String("0" + i);
    if ( i < 100 ) j = String ("0" + i);
    delete this["q" + j];
}


протупил :) Но ты тоже :) В твоем коде, к примеру, i=5. Тогда j=05... Или я опять туплю? :rolleyes: :D
Да и вообще:
Код:

for ( var i = 0; i < 100; i++ )
{
    if (i>=10 )
      j = String ("0" + i)
  else
      j = String("00" + i);
    delete this["q" + j];
}



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

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