我对容器对象的孩子有一些行为,我只是不明白。
我正在制作一个mx:Canvas
对象的四个显示对象。当我打电话给getChildren()
时,我会按顺序看到它们,就在我认为应该是的地方:
1 2 3 4
当我致电swapChildrenAt(0,1)
时,乐趣就开始了;应该交换1
和2
的位置,但我最终会:{/ 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()
显然使用了不同的起始索引。任何人都可以对这种行为有所了解吗?
答案 0 :(得分:0)
您似乎正在交换显示对象的索引,而不是自己在这些位置传递显示对象。
官方文件说
“swapChildren(child1:DisplayObject, child2:DisplayObject):void
”因此无法使用显示对象本身的索引。
我希望这能解决你的问题。