如何调用父母的变量?AS3



假设我在movieclip上的ActionScript面板中有一个变量

parent_mc:

var ispaused:Boolean = false;

在此MovieClip内部是另一个MovieClip,其ActionScript

child_mc:

if (!ispaused)
{ gotoAndPlay(1); }

在儿童MovieClip中处理ActionScript时,我该如何要求父母的变量?

ahem ...

if (parent.ispaused) // ...

,如果由于编译时间类型铸造而无法工作:

if (parent["ispaused"]) // ...

或者您可以打字:

if ((parent as ParentClass).ispaused) // ...

我实际上发现这是调用父母的变量的正确方法,从字面上看,MovieClip(root)并不改变。

if ((MovieClip(root).entervariablename))
{ dothisaction; }

或修改变量值

if (thistrigger)
{ (MovieClip(root).entervariablename) = desiredvalue; }

在parent movieclip时间轴上(我想您的代码已放在上面):

var isPaused:Boolean=false;
function doSometing():void{
    trace("function doSomething called in parent MovieClip");
}

在儿童MovieClip时间轴上:

import flash.display.MovieClip;
var parentClip:MovieClip = (parent as MovieClip);
var parentPaused:Boolean = parentClip.isPaused;
if (!parentPaused){
    trace("parent clip isPaused = " + parentPaused);
    parentClip.doSometing();
    // Do what you want here
}

输出:

父夹iSpaused = false

函数dosomething在父级movieclip

最新更新