2013-12-18 11 views
1

所以我有一个叫做Game的主场景。在那个场景中,我有一个名为Shop的movieclip。在名为shop的movieclip中,我有另一个叫做upgradeweapon2的影片剪辑。在upgradeweapon2里面,我有一个名为“upgradeweaponpb”的按钮。 我正在使用actionscript中的影片剪辑upgradeweapon2的框架。我试图编辑一个名为“weaponlvl”的变量,这个变量在Game中声明。一张图片来展示我的意思: http://gyazo.com/96b04ab89ea4a589bee560d53d165b03.png如何编辑在影片剪辑的框架内包含的根中声明的变量?

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

请告诉我有一种解决方法...我知道weaponlvl是在根场景,游戏中定义的,但是有没有一种方法可以使声明在各个级别的MovieClip中有效,或者至少有一种方法可以传输价值观?

这里是我尝试添加代码:

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

编辑:好吧,我简化了我的代码,这只是一个影片剪辑,而不是两层。但仍然是同样的错误。任何想法我可以做什么?

回答

2

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

获取weaponlvlMovieClip(root).weaponlvlthis.parent.parent(也是根)。

+0

非常感谢!我希望我等了一会儿,并没有完全撤消我所做的。我会尝试你现在说的话。 =) – belgarion