PDA

Просмотр полной версии : вопрос про глубину


babangida
02.09.2005, 11:47
Вот я на аттачил кучу символов на сцену. Есть ли способ их все быстро убрать. Наверно что-то должно быть связано с глубиной. Они у меня все естественно на разной глубине лежат. Можно их как-нибудь быстро стереть посредством ActionScript?

iNils
02.09.2005, 11:50
1. вариант пройтись по ним циклом также как ты их аттачил
2. аттачить их в пустой клип. а потом просто удалить этот клип. все содержимое его тоже исчезнет.

Aurum
02.09.2005, 12:02
MovieClip.prototype.Trash=function(start, stop){
for(; start<=stop; start++){
this.createEmptyMovieClip("trash", start);
this.trash.removeMovieClip();
}
};

iNils
02.09.2005, 12:14
MovieClip.prototype.Trash=function(start, stop){
for(; start<=stop; start++){
this.createEmptyMovieClip("trash", start);
this.trash.removeMovieClip();
}
};
и что оно делает?

Aurum
02.09.2005, 12:17
и что оно делает?
Отчищает все слои от start до stop.

babangida
02.09.2005, 12:24
а вот можно и может и так: у меня кажбый символ положенный на сцену естесственно имеет уникальный идентификатор типа P1S1K1, P1S1K2,P1S1K3,P1S2K1, так вот буквы везде одинаковые а три цифры никогда не повторяются одинаково. Может взять это как строкувую переменную, выкинуть оттуда буквы, перевести в число и использовать как глубину это чикло. в следующий раз проходя цикл и аттача опять символы кидать их на эту глубину тем самым замещая предыдущий символ. есть функция передодящая строку в цифру. точнее мне надо так у меня три вложенных цикла For. надо перевести каждую переменную каждого цикла в строковую переменную (как?) дальше склеить эти три строковые переменные в одну строковую (будут три цисла подряд идти) и затем перевести эту строку обратно в число (как?), получится уникальный трехзначный номер который можно использовать как глубину. во че сказал.

iNils
02.09.2005, 12:25
Отчищает все слои от start до stop.
забавное решение.
если клипы находятся на глубинах 1,2,3,4,1000. то будет в холостую работать?

iNils
02.09.2005, 12:27
2babangida
если твоя задача снести ВСЕ приатаченные клипы то самый быстрый способ это вариант 2 в моем посте.

если нужно определенные глубины, то используй вариант Aurum

babangida
02.09.2005, 12:30
забавное решение.
если клипы находятся на глубинах 1,2,3,4,1000. то будет в холостую работать?

Нет, у меня один раз в 30 секунд читаются куча переменных и по результатом аттачится разные символы из библиотеки. Так вот цикл всегда по результатам считывания один и тотже, и идентификаторы одни и теже (кстатит как они там себе живут сейчас на сцене куча всяких символо причем некоторые с одинаковыми идентификаторами ? ), а глубину я постоянно проверяю на свободную и кидаю на нее новый символ, так вот если бы глубину фиксировать для каждого типа идентификатора свою. Так есть такие функции перехода от строки в число и обратно как существуют такие в VisualBasic или VBScript?

babangida
02.09.2005, 12:34
А можно эти символы положить в отдельный слой и потом просто этот слой удалить при следующем цикле и создать новый и опять туда все положить и т.д. Если можно то как посредством ActionScript это можно сделать?

Aurum
02.09.2005, 12:35
Number(строка_с_числами) вернет число
String(число) вернет строку
--------
Все символы на один слой? Нельзя.

Double
02.09.2005, 12:38
если мне склероз не изменяет, то если изначально создать переменную определённого типа (строка например) и присвоить ей число, так оно и будет потом всегда восприниматься, как строка без каких-либо специальных функций перевода...

iNils
02.09.2005, 12:39
А можно эти символы положить в отдельный слой и потом просто этот слой удалить при следующем цикле и создать новый и опять туда все положить и т.д. Если можно то как посредством ActionScript это можно сделать?
это тоже самое как кидать их в один пустой клип и удалять его.
не пойму чем тебе такой способ не подходит?

iNils
02.09.2005, 12:40
если мне склероз не изменяет, то если изначально создать переменную определённого типа (строка например) и присвоить ей число, так оно и будет потом всегда восприниматься, как строка без каких-либо специальных функций перевода...
r = "e";
r = 1;
trace (typeof r);

babangida
02.09.2005, 12:43
Это String() and Number(). У меня все по моему работает по такой схеме.

Double
02.09.2005, 17:17
ну прогнал. склероз с чем-то спутал (где-то была такая фишка)...