如何编辑在影片剪辑的框架中包含的根中声明的变量?

时间:2013-12-18 20:35:20

标签: actionscript-3 flash

所以我有一个名为Game的主场景。在那个场景中,我有一个名为Shop的动画片段。在名为shop的movieclip里面,我有另一个名为upgradeweapon2的影片剪辑。在upgradeweapon2里面,我有一个名为“upgradeweaponpb”的按钮。 我正在使用动作脚本,在电影剪辑upgradeweapon2的框架中工作。我正在尝试编辑一个名为“weaponlvl”的变量,该变量在Game中声明。一张图片来说明我的意思: http://gyazo.com/96b04ab89ea4a589bee560d53d165b03.png

我收到以下错误:访问未定义属性weaponlvl。

请告诉我有一种方法可以解决这个问题...我知道武器包是在根场景,游戏中定义的,但是有没有办法使声明在MovieClip的各个级别上有效,或者至少是一种转移方式价值相互影响?

以下是我要添加的代码:

    stop();
    upgradepb.addEventListener(MouseEvent.CLICK, upgradeweapon5);
    function upgradeweapon5(event:MouseEvent):void{ 
        weaponlvl++;
    } 

编辑:好吧我简化了我的代码,它只是一个动画片段,而不是两层。但仍然是同样的错误。知道我能做什么吗?

1 个答案:

答案 0 :(得分:2)

weaponlvl位于upgradeweapon2.upgradeweaponpb的框架上;它不在根层,因此在动作脚本中它没有意义。您有两种选择:

通过weaponlvlMovieClip(root).weaponlvl(也是根)获取this.parent.parent