如何访问MovieClip(AS3)中的变量

时间:2016-03-22 02:46:06

标签: actionscript-3 flash

我是AS3的新手,我想问一下如何通过名字访问MovieClips中的变量。

通常,在AS2中,我使用其实例名称后跟.(name of variable)

例如...... 我在名为my_mc的MovieClip中有一个名为baru的变量。 通常我使用my_mc.baru来揭示变量的值。

现在,我想知道在AS3中如何做到这一点

谢谢。

2 个答案:

答案 0 :(得分:0)

在AS3中,您需要注意一些独立但相关的事情:

  • 所有显示对象(包括MovieClip)都可以具有name属性。

    var mc:MovieClip = new MovieClip();
    mc.name = "myMC";
    myContainer.addChild(mc);
    
  • 您可以通过其name在其父级上使用getChildByName()找到一个孩子。

    var myMC:MovieClip = myContainer.getChildByName("myMC");
    
  • MoveClip个实例可以dynamic properties指向儿童(或任何内容)。

    myContainer.myMC = myMC;
    

    (请注意,其他显示对象类型,例如Sprite允许动态属性。而是需要创建具有类属性的自定义类。)

    < / LI>
  • 在代码中创建显示对象时(如上所示),不会自动创建父项name或属性。您可以手动执行此操作,如上所示。

  • 当你在创作工具中放置一个符号实例并给它一个&#34;实例名称&#34;,两者 name 父符号上的属性将由&#34;实例名称&#34;分配。在这种情况下,您无法更改代码中的name

  • 请注意,在AS2中使用createEmptyMovieClipattachMovie会分配_name并在父级上创建一个属性,但是没有AS3等价物这些功能。这可能会引起很多混乱。

因为您可以看到它的工作方式与AS2没有什么不同,除了AS2具有为您做了几件事的功能(创建并添加MovieClip,设置name并在其上添加属性父母)。 AS2的问题在于,在创建对象后,您无法重新创建对象,这是一个很大的限制。在AS3中,您可以随意移动物体。

答案 1 :(得分:-1)

如果您只想在MovieClip中编写代码而不是* .as,则必须手动在MovieClip中添加TextField,将其设置为Dynamic,然后在其中键入变量字符串,然后使用它:MovieClip.TextField.text并且不要忘记:TextField.alpha = 0.

这不是一个明智的方法。