在图层之间绘制精灵



是否可以在影片剪辑或特定图层上绘制精灵?

我在Flash设计器中创建了一个MC,它有3个图层,背景,一些布局和一些文本。在actionscript中,我在代码中创建了一个Sprite对象,在其上绘制了一个矩形,并通过addChild(从MC中调用)将其添加到舞台上

问题是,精灵总是画在我在设计器中添加的所有布局元素之上。

是否有办法将精灵添加到特定层的MC中?在本例中为背景层。

我试着改变精灵的z,没有效果。

改变"z"是一个很好的尝试,但它没有任何作用。

实际上,所有的影片剪辑都是按照特定的顺序堆叠的。画完后,就按这个顺序画,就像画家在一幅画上再画一幅一样。改变"z"值会改变影片剪辑的感知深度,但不会改变影片剪辑的绘制顺序。因为你的精灵位于所有影片剪辑的顶部,所以它总是最后一个被绘制的,即使你改变了"z"。

当使用ActionScript时,"图层"实际上并不存在。这是一个概念,只能通过Flash专业。最后,Flash Professional在addChild()请求中转换其图层。

所以你可以用addChildAt()方法放置你的新影片剪辑。如果索引值为0,则新影片剪辑将绘制在所有其他影片剪辑的下方,而不是顶部。

你必须找到一个引用的电影剪辑的索引(例如,通过给它一个实例名在Flash Pro,"引用"),所以你可以检索它的索引与"getChildIndex(引用)"。然后,可以使用addChildAt()将新影片剪辑设置在索引的上方或下方。如果你设置了与参考影片剪辑相同的索引,它将位于其下方。

另一种方法是创建一种虚拟影片剪辑("dummy"),将其设置在Flash Professional的一个图层中,然后使用"dummy. addchild()"将新影片剪辑添加到这个虚拟影片剪辑中。

如果你想通过ActionScript在一个"图层"中重新组合多个图形,以便使用addChildAt()在显示列表中轻松地向上或向下移动该组,你可以将它们添加到精灵对象中,然后移动精灵。

将舞台上所需的对象转换为影片剪辑。这些电影片段可以在不同的图层上。然后使用函数setChildIndex(), swapChildrenAt()和getChildIndex()来达到所需的效果。如果你给我看代码,我可以注释更多。有关功能的更多详细信息可在

找到。http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObjectContainer.html

还可以查看http://www.flashandmath.com/intermediate/depths/index.html

使用addChildAt (sprite, index);

最新更新