Flash ActionScript 3引用添加的子项

时间:2015-04-18 23:13:15

标签: actionscript-3 flash addchild

我还是动作脚本的新手,我有一个动画片段被添加到动画片段中的动画片段中。我可以添加它没有问题。我也试图给它一个名字。但是,一旦我添加了这个动画片段,我似乎无法引用它。这是我的代码的一部分:

        var sky_m_1:sky_m_a = new sky_m_a();

        if (game_level.platforms.x==0 && !sky_m_1_tracker)
        {
            sky_m_1_tracker=true;
            sky_m_1.x=0;
            sky_m_1.y=game_level.platforms.y-183;
            sky_m_1.name="sky_m_x";
            game_level.sky_2_tracker.addChild(sky_m_1);
        }

        game_level.sky_2_tracker.sky_m_x.x=(game_level.platforms.x)/16;

        game_level.sky_2_tracker.sky_m_x.y=((game_level.platforms.y)/16)+442.3;

所以我将这个MC添加到MC中的MC中,然后我希望它移动。但事实并非如此。在此之后我的代码似乎也锁定了,并且此段下方的任何内容都不再有效。我没有遇到任何错误。任何有关如何正确引用我的MC的帮助将不胜感激。提前谢谢。

2 个答案:

答案 0 :(得分:1)

您不需要通过嵌套它的层次结构引用新剪辑。您可以通过您提供的实例名称访问新x的{​​{1}}和y属性:

object

答案 1 :(得分:0)

首先,您的逻辑/代码存在一些问题: 您可以在" holder"中添加mc(movieclip的缩写)。 (game_level)在这一行: game_level.sky_2_tracker.addChild(sky_m_1); 这一行在 If 语句中 - 如果 If 语句为false(其中的代码,不运行)会发生什么?您的mc(sky_m_1)未添加到显示对象列表中 - 因此您无法访问它。 应在 If 语句中添加 sky_m_1 (x / y)语句。

此外,您应该尝试重命名变量,以便任何开发人员都能理解您想要实现的目标。