![]() |
|
||||||||||
|
|||||
|
создаю спрайт, в нем еще создаю спрайты... а как очистить родительский не удаляя его самого !.....
var ObjSprite:Sprite = new Sprite();
addChild(ObjSprite);
var NSprite:Number = 10//некоторое число которое непостоянно
for(var i:Number = 0; i<NSprite; i++){
with(ObjSprite.addChild(new Sprite())){
x=i*10;
graphics.beginFill(0x000000);
graphics.drawRect(-5,-5,10,10);
graphics.endFill();
}
}
//это все дело пытаюсь очистить вот такой процедурой
for (var i:uint = 0; i<ObjSprite.numChildren; i++) {
ObjSprite.removeChild(ObjSprite.getChildAt(i));
}
может есть что нить типа clear???? или еще какая хитрая команда хелп перерыл ничо не нашел вразумительного! |
|
|||||
|
[+1.4 18.06.07]
Регистрация: May 2007
Адрес: Moscow
Сообщений: 263
|
Млин.. 3 года человек во флеше.. "numChildren+1" попробуй..))
__________________
А я Томат. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А removeChildAt уже не можно юзать?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Проще для кого?
![]() Я о машине забочусь, а ты? ![]() Я старался написать максимально простой и быстрый код, а у тебя просто максимально простой ![]() |
|
|||||
|
[+1.4 18.06.07]
Регистрация: May 2007
Адрес: Moscow
Сообщений: 263
|
Сорри за оффтоп: а как вы вообще отслеживаете производительность?
__________________
А я Томат. |
|
|||||
|
можно я тоже поделюсь как я такие задачи решаю? Авось помогут
во первых я если точно не хочу удалять родительский спрайт а внутри будет твориться хаус который надо удалить использую одно из двух способ 1: Я создаю массив по типа public var = itemsArray:Array = new Array(); в который методом push добавляю конструкторы спрайтов мувов или чё хош ) var test = new Sprite(); var test2 = new Sprite(); this.itemsArray.push(test2); test.addChild(test2); // далее простым циклом если надо удаляю все спрайты for each (var item in this.itemsArray) test.removeChild(item); в таком случае внутри спрайта заведи подспрайт , в него и добавляй всё. а потом грохни этот подспрайт: var test = new Sprite(); var test2 = new Sprite(); test.addChild(test2); var test3 = new Sprite(); test2.addChild(test3); // как я удаляю обычно (может и не правильно) removeChild(test2); test2 = new Sprite(); addChild(test2); в таком случае я вообще используя перый метод добавил её в функцию которая ещё и листенеры удаляет. в общем идеи предложил дальше думайте сами, ну или буду рад критике потому что сам эти методы использую а они могут оказаться не верными ![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
|
|||||
|
мне кажется, что самым быстрым будет вариант не с уделением детей на нулевом уровне, а при уделении от последнего к нулевому
приблизительно по этой причине: http://lab.polygonal.de/wp-content/s...rayExample.swf (это наглядный пример удаления ячеек из массива - вытаскивайте квадратики мышкой из начала)
__________________
Хороший отдых - половина работы. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|