2011-03-30 86 views

回答

3

“Layer 2”不够具体。什么显示对象容器的层?

这是关于display list programming的一篇很好的文章,应该对此有所启发。

要回答您的问题,您需要标识父级displayObject并调用其addChild方法,并将目标子级displayobject作为参数。如果您的父级displayObject是包含类(例如,扩展DisplayObject的类(例如Sprite)),则可以调用addChild()或this.addChild()。要在顶层以外的层添加子层,可以使用addChildAt()。

 var someclip:Sprite = new Sprite(); 
     var someOtherClip:Sprite = new Sprite(); 
     var yetAnotherClip:Sprite = new Sprite(); 
     var someLibrayClip:LibraryClip = new LibraryClip(); 

     this.addChild(someClip); 
     this.addChildAt(someOtherClip,0); 
     someOtherClip.addChild(yetAnotherClip); 
     someOtherClip.addChildAt(someLibrayClip,0); 
     etc... 

注意,显示列表是像阵列的堆叠,并且在它的情况下,可能不包含空索引。如果你想在2层的东西,还必须有项目在0和1

希望帮助 -

+0

Pft。等待。 “LAYER”或“FRAME”?无论哪种方式,上述仍然适用。 – Bosworth99 2011-03-30 01:03:39

+0

“显示列表编程”链接已死亡。任何想法现在我可以找到这篇文章? – IAbstract 2016-10-22 08:21:13

+0

没有丝毫。此外 - 我还没有写了5年 - 我不确定上述是否仍然相关或不。祝你好运 :) – Bosworth99 2016-10-23 00:26:58

0
  1. 在库中没有任何东西的情况下创建一个符号。我通常称这些为空。
  2. 在需要它的舞台上放置此符号的一个实例。给这个实例一个名字。为了这个答案,它是empty_mc。
  3. 然后在AS做
var whatever : Whatever = new Whatever(); 
empty_mc.addChild(whatever); 

在适当的位置。

+0

似乎有什么实际上试图完成的不确定性。这个答案提供了一种方法,用于在创作的图层和/或舞台上的特定帧之间动态添加内容。实质上,它在内部显示列表中创建一个容器,然后您可以动态添加内容。 – mpdonadio 2011-03-30 13:14:46

1

层只能在Flash IDE存在。它们不是Flash Player的显示列表系统的一部分。所以你不能指定一个孩子进入什么层。使用addChild()addChildAt()将孩子添加到容器。