我搜索谷歌但没有。我猜你要么不能做,要么除了孩子的功能之外还有办法做。
我有一个像
这样的敌人盒子-container - 背景 - 文本 -enemy movieclip
所以我有一个带有文本字段的MovieClip框,其中包含实例名称,例如textSpot。它不是MovieClip,而是常规的拖放文本字段。重新排序会很痛苦。我想知道是否有办法将文本放到前面,就像添加敌人的动画片段一样,它会覆盖文本。
那么有没有办法将一些东西带到库中不存在的前端,并且只有一个实例名称?否则,如果不可能,我是否只为文本创建一个容器,然后使用普通的setChildIndex()设置为front?
感谢。
答案 0 :(得分:1)
元素在库中是否存在的事实根本不影响是否可以对它进行排序。只要对象是DisplayObject
,就可以将其添加到DisplayObjectContainer
,从而成为setChildIndex()
的目标。
MovieClip
和TextField
都是DisplayObject,但只有MovieClip是DisplayObjectContainer。换句话说,您可以将MovieClip和Textfields都添加为子项,但只有MovieClip可以包含子项。
因此,可以在setChildIndex()
上使用TextField
。
但是,从您指定的设置中, text 是容器的孩子,而不是敌人。那将是一个问题。 setChildIndex()
只能用于重新排序具有相同父级的元素。因此,为了能够将 text 置于敌人之上,您实际上将容器置于敌人< / em> ......那包括背景。如果你希望你的文本在你的敌人之上,你将不得不将它们从容器中移出,可能还有一个设置(例如):
stage
foregroundLayer <== a MovieClip on top of the "scene", that contains the Texts
text1
text2
enemyLayer <== a MovieClip that contains all the enemies.
enemy1
enemy2
backgroundLayer <== Your actual "container"
background