【问题标题】:Bring movieclips that have been added through editor to front将通过编辑器添加的影片剪辑放在前面
【发布时间】:2016-03-25 01:25:24
【问题描述】:

我有一个游戏,其中包含三个不同的场景。在第一个场景中,对象(电影剪辑)是通过 Flash 编辑器添加的,这意味着没有使用动作脚本来添加它们(不是使用 addChild 添加的)。在那之后,我决定我想完全通过动作脚本来完成第二个和第三个场景,并且添加的每个对象都使用 addChild() 添加。这样做的问题是,现在通过 actionscript 添加的对象出现在通过编辑器手动添加的对象的前面,我希望它是相反的。我知道 addChildAt() 存在,但我有超过 100 个对象,所以它似乎不是一个好的选择。简而言之:如何设置通过 Flash 编辑器而不是通过动作脚本添加的影片剪辑的 Z-Indexes。

【问题讨论】:

    标签: actionscript-3 flash flash-cs5


    【解决方案1】:

    首先我告诉你,这不是一个好习惯。
    我给你一些方法:

    1.add child at 到其他人的后面:

    addChildAt(myDisplayObject,0);
    

    所以你添加的孩子会回去。

    2.设置显示对象的索引:
    首先你应该给他们实例名称,然后在代码中:

    setChildIndex(myDisplayObect,myIndex);
    

    所以你设置你的显示对象的索引。

    我  H☺ P E  这有帮助

    【讨论】:

    • 是的,我知道这些方法,正如我上面所说的。
    • @DimitarVelev - 您真的没有任何其他选择...您可以创建一个 Sprite 容器并将该容器放在所有时间线对象下,然后将您的代码创建的对象添加到容器中。我真的不明白为什么不直接使用addChldAt(object,0); 而不是addChild(object),它只需要输入4 个额外的字符!
    • @ɫɬƚҭϻѦƝ - 但请注意,当您调整时间线创建对象的父级(例如,您使用 addChild/addChildAt/setChildIndex)时,该对象将不再响应时间线关键帧,并且必须通过来自然后继续。因此,最好使用您的选项#1 而不是#2。
    • @BadFeelingAboutThis 感谢您提供信息并感谢您的投票。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-26
    • 1970-01-01
    • 2011-03-07
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多