将动态文本字段添加到前面(没有使用MovieClip)

时间:2013-05-23 05:37:17

标签: flash

我搜索谷歌但没有。我猜你要么不能做,要么除了孩子的功能之外还有办法做。

我有一个像

这样的敌人盒子

-container - 背景 - 文本 -enemy movieclip

所以我有一个带有文本字段的MovieClip框,其中包含实例名称,例如textSpot。它不是MovieClip,而是常规的拖放文本字段。重新排序会很痛苦。我想知道是否有办法将文本放到前面,就像添加敌人的动画片段一样,它会覆盖文本。

那么有没有办法将一些东西带到库中不存在的前端,并且只有一个实例名称?否则,如果不可能,我是否只为文本创建一个容器,然后使用普通的setChildIndex()设置为front?

感谢。

1 个答案:

答案 0 :(得分:1)

元素在库中是否存在的事实根本不影响是否可以对它进行排序。只要对象是DisplayObject,就可以将其添加到DisplayObjectContainer,从而成为setChildIndex()的目标。

MovieClipTextField都是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