Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.01.2006, 23:35
Captain Power вне форума Посмотреть профиль Отправить личное сообщение для Captain Power Найти все сообщения от Captain Power
  № 1  
Ответить с цитированием
Captain Power

Регистрация: Jan 2006
Сообщений: 37
По умолчанию Удалить все клипы

Мужики .. помогите ...

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

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

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

ещё раз ...

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

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

Старый 07.01.2006, 23:43
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 2  
Ответить с цитированием
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Узнать, является ли объект мувиклипом, можно воспользовавшись 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();
		}
	}
}

Старый 08.01.2006, 06:16
Captain Power вне форума Посмотреть профиль Отправить личное сообщение для Captain Power Найти все сообщения от Captain Power
  № 3  
Ответить с цитированием
Captain Power

Регистрация: Jan 2006
Сообщений: 37
СПАСИБО ...

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

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

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

спасибо

Старый 08.01.2006, 06:37
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 4  
Ответить с цитированием
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Самый простой способ удалить переменную -- присвоить ей 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];
}

Старый 08.01.2006, 06:50
Captain Power вне форума Посмотреть профиль Отправить личное сообщение для Captain Power Найти все сообщения от Captain Power
  № 5  
Ответить с цитированием
Captain Power

Регистрация: Jan 2006
Сообщений: 37
СПАСИБО ещ

Старый 08.01.2006, 06:52
Captain Power вне форума Посмотреть профиль Отправить личное сообщение для Captain Power Найти все сообщения от Captain Power
  № 6  
Ответить с цитированием
Captain Power

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

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

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

Старый 08.01.2006, 15:43
K.A.T.A.F.A.L.K.E.R вне форума Посмотреть профиль Отправить личное сообщение для K.A.T.A.F.A.L.K.E.R Найти все сообщения от K.A.T.A.F.A.L.K.E.R
  № 7  
Ответить с цитированием
K.A.T.A.F.A.L.K.E.R
 
Аватар для K.A.T.A.F.A.L.K.E.R

Регистрация: Jul 2005
Адрес: Go, Ukraine!
Сообщений: 787
Отправить сообщение для K.A.T.A.F.A.L.K.E.R с помощью ICQ
Цитата:
Сообщение от Captain Power
if ( i < 10 ) i = String("0" + i);
Туплю или надо все же "00" + i?

Старый 08.01.2006, 15:45
K.A.T.A.F.A.L.K.E.R вне форума Посмотреть профиль Отправить личное сообщение для K.A.T.A.F.A.L.K.E.R Найти все сообщения от K.A.T.A.F.A.L.K.E.R
  № 8  
Ответить с цитированием
K.A.T.A.F.A.L.K.E.R
 
Аватар для K.A.T.A.F.A.L.K.E.R

Регистрация: Jul 2005
Адрес: Go, Ukraine!
Сообщений: 787
Отправить сообщение для K.A.T.A.F.A.L.K.E.R с помощью ICQ
Цитата:
Сообщение от Captain Power
attachMovie("q006", "q006", 0, {_y:y+30});
_root.q006=1;
Ого... Сильно...

Старый 08.01.2006, 15:54
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 9  
Ответить с цитированием
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Не надо 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];
}

Старый 08.01.2006, 16:12
K.A.T.A.F.A.L.K.E.R вне форума Посмотреть профиль Отправить личное сообщение для K.A.T.A.F.A.L.K.E.R Найти все сообщения от K.A.T.A.F.A.L.K.E.R
  № 10  
Ответить с цитированием
K.A.T.A.F.A.L.K.E.R
 
Аватар для K.A.T.A.F.A.L.K.E.R

Регистрация: Jul 2005
Адрес: Go, Ukraine!
Сообщений: 787
Отправить сообщение для K.A.T.A.F.A.L.K.E.R с помощью ICQ
Цитата:
Сообщение от 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... Или я опять туплю?
Да и вообще:
Код:
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, время: 16:02.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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