我的容器的子项是从索引-1还是0开始的?

时间:2010-11-05 20:26:58

标签: flex3

我对容器对象的孩子有一些行为,我只是不明白。

我正在制作一个mx:Canvas对象的四个显示对象。当我打电话给getChildren()时,我会按顺序看到它们,就在我认为应该是的地方:

1
2
3
4

当我致电swapChildrenAt(0,1)时,乐趣就开始了;应该交换12的位置,但我最终会:{/ p>

MYSTERY_OBJECT_OF_MYSTERY
2
3
4

那么,1去了哪里?为什么,当然是在-1位置。

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

FWIW,MYSTERY_OBJECT_OF_MYSTERY是一个'边界'。不知道它是怎么到达那里的。

无论如何,我发现令人费解的是getChildAt()swapChildrenAt()显然使用了不同的起始索引。任何人都可以对这种行为有所了解吗?

1 个答案:

答案 0 :(得分:0)

您似乎正在交换显示对象的索引,而不是自己在这些位置传递显示对象。

官方文件说 “swapChildren(child1:DisplayObject, child2:DisplayObject):void”因此无法使用显示对象本身的索引。

我希望这能解决你的问题。