我的容器的子级是从索引 -1 还是 0 开始?
我对容器对象的子对象有一些行为,我只是不明白。
我正在将四个显示对象作为 mx:Canvas
对象的子对象。当我调用 getChildren()
时,我会按顺序看到它们,就在我认为它们应该在的位置:
1 2 3 4
当我调用 swapChildrenAt(0,1)
时,乐趣就开始了;这应该交换 1
和 2
的位置,但我最终得到的是:
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()
显然使用不同的起始索引。有人能解释一下这种行为吗?
I'm getting some behavior with a container object's children I just don't understand.
I'm making four display objects children of an mx:Canvas
object. When I call getChildren()
, I see them all in order, right where I think they should be:
1 2 3 4
The fun begins when I call swapChildrenAt(0,1)
; that's supposed to swap the positions of 1
and 2
, but instead I wind up with:
MYSTERY_OBJECT_OF_MYSTERY 2 3 4
So, where did 1
go? Why, it's at position -1, of course.
getChildAt(-1): 1 getChildAt(0): MYSTERY_OBJECT_OF_MYSTERY getChildAt(1): 2 getChildAt(2): 3 getChildAt(3): 4
FWIW, MYSTERY_OBJECT_OF_MYSTERY
is a 'border'. Don't know how it got there.
Regardless, I find it baffling that getChildAt()
and swapChildrenAt()
are apparently using different starting indexes. Can anybody shed some light on this behavior?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您似乎正在交换显示对象的索引,而不是在这些位置本身传递显示对象。
官方文档说
“
swapChildren(child1:DisplayObject, child2:DisplayObject):void
”因此无法使用显示对象本身的索引。我希望这能解决您的问题。
You appear to be swapping the index of the display Objects instead of passing the display Objects at those location themselves.
The official documentation says
"
swapChildren(child1:DisplayObject, child2:DisplayObject):void
" therefore the index of the Display Objects themselves cant be used.I hope this solves your problem.