0

我搜索了谷歌,但没有。我猜要么你不能这样做,要么除了子函数之外还有其他方法可以做到。

我有一个敌人的盒子设置,比如

-container --background --text -enemy movieclip

所以我有一个MovieClip 框,上面有一个带有实例名称的文本字段,例如textSpot。它不是一个电影剪辑,而是一个常规的拖放文本字段。重新排序会很痛苦。我想知道是否有办法将文本放在前面,因为在添加敌人的影片剪辑时,它会覆盖文本。

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

谢谢。

4

1 回答 1

1

一个元素是否在库中的事实对于它是否可以被订购完全没有影响。只要一个对象是 a DisplayObject,它就可以被添加到 aDisplayObjectContainer并因此成为 的目标setChildIndex()

MovieClip和都是TextFieldDisplayObject,但只有 MovieClip 是 DisplayObjectContainer。换句话说,您可以将 MovieClips 和 Textfields 添加为子项,但只有 MovieClips 可以包含子项。

因此,可以setChildIndex()TextField.

但是,根据您指示的设置,textcontainer的子代,而不是evil。那将是一个问题。setChildIndex()只能用于重新排序具有相同父元素的元素。因此,为了能够将文本放置在敌人的顶部,您实际上必须将容器放置在敌人的顶部……这包括背景。如果您希望文本位于敌人之上,则必须将它们移出容器,可能使用如下设置(来自示例):

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
于 2013-05-23T06:37:06.580 回答