【问题标题】:How do I edit a variable declared in the root contained within the frame of a movie clip?如何编辑在影片剪辑帧中包含的根中声明的变量?
【发布时间】:2013-12-18 20:35:19
【问题描述】:

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

我收到以下错误:未定义属性武器lvl的访问。

请告诉我有办法解决这个问题...我知道武器等级是在根场景、游戏中定义的,但是有没有办法让声明在各个级别的 MovieClips 中都有效,或者至少有办法转移价值观?

这是我要添加的代码:

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

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

【问题讨论】:

    标签: actionscript-3 flash


    【解决方案1】:

    weaponlvlupgradeweapon2.upgradeweaponpb的框架上;它不在根层,因此在动作脚本中它没有意义。你有两个选择:

    通过MovieClip(root).weaponlvlthis.parent.parent(也是根)获取weaponlvl

    【讨论】:

    • 非常感谢!我希望我稍等片刻,并没有完全撤销我所做的。我现在试试你说的。 =)
    猜你喜欢
    • 2011-01-31
    • 2015-07-07
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多