【问题标题】:Generated Flash effect appearing over-top of top layers objects生成的 Flash 效果出现在顶层对象之上
【发布时间】:2011-05-27 00:26:08
【问题描述】:

我已经使用链接教程创建了“雪”效果,基本上它在画布上操作对象的实例并在动画加载的动作中调用脚本。

但是,我无法让生成的雪显示在画布上的任何其他对象后面。

http://www.kirupa.com/developer/mx/snow.htm

您可以从图像中看到 RedBox 和 Border 层在 SnowFlakes 层之上,我希望它们在前面。我该怎么做?

【问题讨论】:

    标签: flash actionscript-2 flash-cs5


    【解决方案1】:

    Flash 的 DisplayList 作为一个没有空值的数组运行。如果显示列表上有 10 个不同的显示对象,每个显示对象将填充索引位置 0-9。 0 将占据最低层,最多 9 层,它看起来会浮在其他所有东西上。

    因此,要将 SnowFlakes 图层置于其他所有内容之下,您需要确保它位于索引 0 处,或者至少低于其他所有内容,在本例中为您的红框和边框。

    “snowfake”对象是如何添加到显示列表中的?确保将薄片添加到正确的显示对象:

    var flake:SnowFlake = new SnowFlake();
    SnowFlakeLayer.addChild(flake); 
    

    并且该对象在正确的层上

    addChildAt(SnowFlakeLayer,0);
    

    我没有看教程,你也没有发布任何代码,但我猜你没有正确地将薄片添加到 SnowFlakeLayer。假设其他所有内容都正确分层,那就是您的问题。

    【讨论】:

    • 呃。刚刚注意到您在 AS2 中。 ... 行。可能的最佳答案,请跳至 AS3 教程。
    【解决方案2】:

    在 actionscript 2.0 中,您可以查看movieClips 的深度代码,我知道的唯一一个是movieClip.swapDepth(mc2); 您可以使mc2 成为整个动画中最高(最高)的电影剪辑。但我确信在谷歌你会找到一些actionscript 2.0的深度代码,你可以把它放在上面而不用其他东西交换它的深度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多