2015-03-20 2 views
0

Теперь я создаю программу, и я хочу удалить все дочерние элементы, кроме 1-го пяти. Я использую эту программу:Удалить ребенка с помощью removeChildAt без удаления последнего дочернего элемента

while (numChildren > 6) { 
     removeChildAt(6); 
} 

Но у меня есть еще одна проблема. Я не хочу, чтобы последние 3 ребенка сцены были удалены. Есть ли способ сделать это возможным?

+0

Лучше бы использовать слои (Sprite) и организовать свой список отображения в гораздо более эффективным способом. Помещение всего вашего объекта на одном уровне списка отображения - это плохое программирование. – BotMaster

ответ

1

Если возможно, будет более надежно удалять детей в соответствии с их именем, а не индексом.

Но если нет, вы можете просто увеличить число в своем состоянии.

while (numChildren > firstChildrenCount + lastChildrenCount) { 
    removeChildAt(firstChildrenCount) 
0
var nFromStart : int = 5; // number of children to remain in the start 
var nFromEnd : int = 3; // number of children to remain in the end 
for (var childI: int = numChildren - nFromEnd - 1; childI > nFromStart - 1; childI--) 
{ 
    removeChildAt(childI); 
} 
Смежные вопросы