【发布时间】:2014-10-28 13:19:15
【问题描述】:
我正在制作一个 Flash 广告。我使用 AS3 生成的对象以及手动放置在时间轴中的影片剪辑。尽管 AS3 图层位于我手动放置的时间线图层下方,但 AS3 放置的影片剪辑在“我的时间线图层之上/之上/具有更高的 z-index”可见。
我知道通过display list model 处理 AS3 生成对象的显示顺序,就像讨论过的here。
但是,我找不到时间线层(Flash IDE 层)与 AS3 生成的“显示对象容器”相关联的信息。 编辑:显然 IDE 层超出了显示列表模型的范围,但我没有来源。
基本上,我只想确保我的透明 clickTag-button-layer 在我的广告中的所有内容之上。目前AS3放置的movieClips在它上面。
【问题讨论】:
-
提供您正在使用的代码添加和操作这些影片剪辑的深度。否则,我们只能推测您的问题可能是什么。话虽如此,您需要考虑在时间轴中手动放置一个空的 MovieClip,在其他对象下方,并将您的 AS3 生成的对象添加到其中。
-
您可能还想遍历您舞台上的孩子并查看他们的顺序。
stage.getChildIndex()您会惊讶于时间线对象的索引与 AS 代码放置的索引的差异. -
谢谢,我会尝试那种空的 MovieClip 方法。我没有添加任何代码,因为目前我根本没有更改 AS3 生成对象的“排序”。我尝试了显示列表模型中的容器方法,但这并没有解决我的问题。
-
@C.Parcell 谢谢,这解决了我的问题。我在放置 AS3 生成的内容的位置放置了一个空的 MovieClip。刚才我也找到了信息,Flash IDE 层不是 AS3 显示列表模型的一部分,因此无法从 AS3 进行管理。
-
这是时间问题。我确实假设您使用多个框架,在这种情况下,当您在框架中移动时,内容总是会一次又一次地生成,这意味着它会超越一切。这是一个时间问题,因为代码生成的所有内容都应该在时间线内容出现之后添加到顶部。如果它出现在它的下方,是因为该代码在添加时间线内容之前运行。
标签: actionscript-3 flash