2010-11-05 1 views
1

Je reçois un comportement avec les enfants d'un objet conteneur que je ne comprends pas.Les enfants de mon conteneur commencent-ils à l'index -1 ou 0?

Je crée quatre objets d'affichage enfants d'un objet mx:Canvas. Quand j'appelle getChildren(), je les vois tous dans l'ordre, là où je pense qu'ils devraient être:

 
1 
2 
3 
4 

Le plaisir commence quand je l'appelle swapChildrenAt(0,1); qui est censé échanger les positions de 1 et 2, mais je serpentent avec:

 
MYSTERY_OBJECT_OF_MYSTERY 
2 
3 
4 

Alors, où est-ce 1 aller? Pourquoi, c'est à la position -1, bien sûr.

 
getChildAt(-1): 1 
getChildAt(0): MYSTERY_OBJECT_OF_MYSTERY 
getChildAt(1): 2 
getChildAt(2): 3 
getChildAt(3): 4 

FWIW, MYSTERY_OBJECT_OF_MYSTERY est une 'frontière'. Je ne sais pas comment c'est arrivé. Quoi qu'il en soit, je trouve déroutant que getChildAt() et swapChildrenAt() utilisent apparemment différents index de départ. Quelqu'un peut-il faire la lumière sur ce comportement?

Répondre

0

Vous semblez permuter l'index des objets d'affichage au lieu de passer eux-mêmes les objets d'affichage à ces emplacements.

La documentation officielle dit "swapChildren(child1:DisplayObject, child2:DisplayObject):void" donc l'index des objets d'affichage ne peut pas être utilisé.

J'espère que cela résout votre problème.

Questions connexes