![]() |
Удалить все клипы
Мужики .. помогите ...
гружу клипы в корень на след. свободный уровень ... клипы имеют имена g001, g002, g003 и т.д. (клипов ОЧЕНЬ МНОГО) так вот ... каждый из клипов грузица и несёт в себе кнопку со скриптом ... так вот вопрос: как мне написать чтобы при нажатии на кнопку внутри клипа с именем скажем g004 он удалял из рута все клипы с именам старше своего ... ещё раз ... на сцене есть g001 g002 g003 g004 g005 g006 надо из g003 убить все кроме него самого и тех что младше ... спасибо ... очень жду ... |
Узнать, является ли объект мувиклипом, можно воспользовавшись instanceof. Глубину получить -- с помощью MovieClip.getDepth();
Код:
function removeMovieClipHigher( offset:Number ) : Void |
СПАСИБО ...
а как снести все переменные начиная с текущей? поясняю ... загрузился очередной мувик и принёс с собой переменную (скажем переменную с именем q005) ... так вот надо чтобы он автоматически при этом удалил все переменней с номерами q006,q007,q008 и т.д. (их очень много но они все пронумерованы таким образом) спасибо |
Самый простой способ удалить переменную -- присвоить ей null. Почти такой же простой -- вспомнить про delete.
Похоже, сам ты не догадаешься... Код:
for ( var i = 0; i < 100; i++ ) |
СПАСИБО ещ
|
СПАСИБО ещё раз .. ты так быстро отвечаешь и ... уже ночь ... но этот код подвешивает программу ... чтото гдето нетак :(
я его вставил в функцию кнопки ... чтобы эта операция проходила при нажатии 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 |
Цитата:
|
Цитата:
|
Не надо 00 + i, тогда на шаге 27 ты получишь не 027, а 0027. Надо просто не пользоваться одной и той же переменной.
Код:
for ( var i = 0; i < 100; i++ ) |
Цитата:
Да и вообще: Код:
for ( var i = 0; i < 100; i++ ) |
спасибо ...
K.A.T.A.F.A.L.K.E.R не смейся надо мной ... я новичок ... :)) лучше скажи что я не так написал ... почему ты меня высмеял? как прально? |
Цитата:
|
Катафалкер, ты попробуй сначала, а потом заявляй, что человек тупит. По-твоему при выполнении первого условия второе не выполнится?
|
Цитата:
if ( i < 100 ) j = String ("0" + i); i=5. Первое условие выполняется? Да, выполняется. После выполнения имеем j=05. Второе условие выполняется? Да, выполняется. После его выполнения имеем значение j=05. А должны иметь 005. P.S. Зачем так нервничать? Я ж сразу же оговорил возможность того что я туплю... Хотя вроде все правильно написал... :rolleyes: P.P.S. И зачем вообще условие i<100? |
Аха, надо второй раз к j цеплять, верно.
Условие для того, что после 100 уже не надо цеплять нули. А всего цикл может и не 100, как у меня, а 300, 400 и 900 итераций проработать. |
Цитата:
|
проверьте пожалуйста ...
ja.onRelease = function() { for ( var i = 0; i < 100; i++ ) { if ( i < 10 ) var j = String("0" + i); if ( i < 900 ) j = String ("9" + i); delete [_root + "." + "q" + j]; } attachMovie("q007", "q007", 0, {_y:y+30}); _root.q005=1; }; вот в чём дело ... этот скрипт странно срабатывает ... надо чтоб он стирал все перемнные начиная с q006 (следущий номер после того откуда происходит вызов ... у меня каждый клип имеет одноимённую переменную) до q999; всё что меньше q006 то есть q005 и ниже трогать низя ... соответсвенно кога я нажму на кнопку в q007 клипе надо стереть всё что выше q007 и т.п. |
1. Тэгом [ code ] пользуемся, сколько тебе еще раз повторить?
2. Объясни назначение строки Код:
if ( i < 900 ) j = String ("9" + i); |
всё ... УРА ... работает ...
ja.onRelease = function() { for ( var i = 1; i < 100; i++ ) { if (i>=10 ) j = String ("0" + i) else j = String("00" + i); delete [_root + "." + "q" + j]; } attachMovie("q001", "q001", 0, {_y:y+30}); _root.q000=1; }; спасибо большое ... единственно при таком раскладе он стирает всё до q099 а надо до q999 но главное что зарпаботало ... сорри за тупизм :) |
Цитата:
|
Тэгом code пользуйся, последнее устное предупреждение
|
ищем академическое решение надуманой проблемы.
у меня была такая ситуация с длинным списком еще на пятерке; худо было именно из-за наличия цикла грузить надо не в корень, а во вспомогательный мув (контейнер) когда надо убить все и оставить текущий, 1. запоминаем числовую часть имени клипа (004) 2. убиваем контейнер 3. создаем контейнер снова 4. берем сохраненный индекс и грузим клип с этим индексом в пустой контейнер |
| Часовой пояс GMT +4, время: 03:37. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.