【问题标题】:Flash ActionScript 3 reference an added childFlash ActionScript 3 引用了一个添加的子元素
【发布时间】:2015-06-25 18:23:14
【问题描述】:

我还是 actionscript 的新手,并且我有一个正在添加到本身在一个movieclip 中的movieclip 中的movieclip。我可以添加它没有问题。我也想给它起个名字。但是,一旦我添加了这个影片剪辑,我似乎无法引用它。这是我的代码的一部分:

        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 的帮助将不胜感激。提前致谢。

【问题讨论】:

  • 什么是game_level和sky_2_tracker?你能再给我们看一些代码吗?
  • game_level 只是一个实例名称为“game_level”的影片剪辑。 sky_tracker_2 也一样,只有那个在 game_level 中。我可以展示更多代码,但是这两个影片剪辑没有在代码中命名,它们在我的 Flash 文件中的舞台上命名。

标签: actionscript-3 flash addchild


【解决方案1】:

您不需要通过嵌套的层次结构引用新剪辑。您可以通过您提供的实例名称访问新 objectxy 属性:

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;
    game_level.sky_2_tracker.addChild(sky_m_1);
}

sky_m_1.x=(game_level.platforms.x)/16;

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

【讨论】:

  • 我试过了,但是当我以这种方式输入代码时,sky_m_1 并没有像它应该的那样移动。我也试过:
    game_level.sky_m_1.x=(game_level.platforms.x)/16;
    game_level.sky_2_tracker.sky_m_1.x=(game_level.platforms.x)/16;
    但无济于事。这就是导致我尝试命名实例的原因。我几乎可以以任何方式引用它,但我尝试过的任何方法都没有奏效。
  • 如果在 if 语句之后跟踪值 sky_m_1 和 game_level.platforms 会得到什么?
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多